#CF474B. worms
worms
B. 蠕虫
每次测试时间限制:1 秒
内存限制:256 兆字节
鼹鼠的午餐时间到了。他的朋友 Marmot 为他准备了一个好玩的午餐游戏。
Marmot 给鼹鼠带来了 n 堆按顺序排列的蠕虫,其中第 i 堆包含 (a_i) 条蠕虫。Marmot 用连续的整数为所有这些蠕虫编号:第一堆中的蠕虫编号为 1 到 (a_1),第二堆中的蠕虫编号为 (a_1+1) 到 (a_1+a_2),依此类推。请看示例以便更好理解。
鼹鼠不能吃掉所有蠕虫(Marmot 带了很多),而且众所周知鼹鼠是盲的,所以 Marmot 告诉他最好吃的蠕虫的编号。只有当鼹鼠正确说出这条蠕虫在第几堆时,Marmot 才会把蠕虫给他。
可怜的鼹鼠请求你的帮助。对于 Marmot 所说的所有好吃的蠕虫,请告诉鼹鼠正确的答案。
输入
第一行包含一个整数 (n)((1 \le n \le 10^5)),表示堆的数量。
第二行包含 (n) 个整数 (a_1, a_2, \dots, a_n)((1 \le a_i \le 10^3),(a_1 + a_2 + \dots + a_n \le 10^6)),其中 (a_i) 是第 i 堆中蠕虫的数量。
第三行包含一个整数 (m)((1 \le m \le 10^5)),表示 Marmot 所说的好吃的蠕虫的数量。
第四行包含 (m) 个整数 (q_1, q_2, \dots, q_m)((1 \le q_i \le a_1 + a_2 + \dots + a_n)),表示好吃蠕虫的编号。
输出
向标准输出打印 (m) 行。第 i 行应包含一个整数,表示编号为 (q_i) 的蠕虫所在的堆的编号。
示例
输入:
5
2 7 3 4 9
3
1 25 11
输出:
1
5
3
说明
对于示例输入:
- 编号在 ([1, 2]) 的蠕虫在第一堆。
- 编号在 ([3, 9]) 的蠕虫在第二堆。
- 编号在 ([10, 12]) 的蠕虫在第三堆。
- 编号在 ([13, 16]) 的蠕虫在第四堆。
- 编号在 ([17, 25]) 的蠕虫在第五堆。