410710: GYM104081 K 区间和

Memory Limit:512 MB Time Limit:4 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

K. 区间和time limit per test4 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard output

给定一个数列 [$$$a_1$$$,$$$a_2$$$,…,$$$a_n$$$] ,这个数列中只包含 0 和正整数,保证所有 $$$a_i$$$ 的和不超过 $$$10^6$$$。

定义一个区间 $$$[l,r]$$$ 的权值为区间内所有元素的和。

依据这个权值对所有 $$$n(n+1)/2$$$ 个区间按照权值从小到大的顺序排序。

接下来给你 $$$m$$$ 个询问,每个询问给出一个 $$$k$$$ ,请你输出排第 $$$k$$$ 的区间的权值。

Input

第一行一个整数 $$$n(1\leq n\leq 10^6)$$$ 表示数列的数字个数。

第二行 $$$n$$$ 个整数,其中第 $$$i$$$ 个数 $$$a_i$$$ 表示数列中的第 $$$i$$$ 个数($$$a_i\geq 0,∑a_i\leq 10^6 $$$)。

第三行一个整数 $$$m(1\leq m\leq 10^6)$$$ 表示询问的个数。

接下来 $$$m$$$ 行,每行一个整数 $$$k(1\leq k\leq n(n+1)/2)$$$ ,表示询问排序后的第 $$$k$$$ 个区间的权值。

Output

一共 $$$m$$$ 行,每行一个整数表示答案。

ExampleInput
6
1 2 0 3 0 1
7
1
2
3
11
12
17
21
Output
0
0
1
3
3
5
7

加入题单

算法标签: