#1020. 小于等于T的最大K

小于等于T的最大K

题目描述

给定一个长度为 NN 的数列 AA,然后进行若干次询问,每次给定一个整数 TT, 求出最大的 kk, 满足 i=1kA[i]T\sum \limits_{i=1}^k{A[i]} \le T。你的算法必须是在线的(必须即时回答每一个询问, 不能等待收到所有询问后再统一处理),假设 0Ti=1nA[i]0 \le T \le \sum\limits _{i=1}^n{A[i]}

格式

输入

第一行一个整数 n(1n5×105)n(1 \le n \leq 5 \times10^5), 表示数列A的长度。第二行有空格隔开的 nn 个数 Ai(0Ai109)A_i(0 \le A_i \le 10^9)。第三行一个整数 q(1q5×105)q(1 \le q \le 5\times10^5),表示有 qq 次询问。接下来的 qq 行,每行一个TjT_j

输出

qq行,每一行对应输入的每一个 TjT_j 的最大的 kk

样例

5
1 2 3 4 5
1
6
3

数据规模

20%的数据,1n,q1001 \le n, q \le 100

另30%的数据,1n,q10001 \le n, q \le 1000

100%的数据,1nq5×1051 \le n,q\le 5 \times 10^5

}