E

题目描述:

某人买了n兜糖果,第i兜有Ai块糖。此人把所有这些糖果用一个数字标记起来;他这样标记这些糖,第一袋糖用用数字1到A1,第二袋糖用数字A1+1到A1+A2,如此类推。如果还没明白看样例可以更加明确此人的意图.这个人不想一口气把这些糖全吃掉,他用记事本随机记下了这些糖的标号。记事本上写着他要吃第几块糖,然后他就去对找对应糖袋。

输入:

第一行给出一个数n,表示糖袋数,第二行给出n个数,表示每袋里有多少个糖。(1<=n<=10^5)第三行给出一个数m,第四行给出m个数表示他要吃的第几块糖。每袋糖不超过1000颗(1<=m<=10^5)

样例输入:

输出m个答案,输出他想吃的糖的编号在第几袋,每个结果后输出一个换行。

样例输出:

5
2 7 3 4 9
3
1 25 11

输出:

1
5
3
 
这道题目也觉得在哪见过....首先前缀和处理下每个袋子的右边的编号,然后对于每个询问依次二分查找一下就好了.时将复杂度 m*lg(n)
 
数据有点水.
原文地址:https://www.cnblogs.com/pk28/p/6136792.html