3412: [Usaco2009 Dec]Music Notes乐谱
Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 191 Solved: 149
[ Submit][ Status][ Discuss]
Description
Input
第1行:两个整数N,Q.
第2到N+1行:第i+l行只有一个整数Bi.
第N+2到N+Q+I行:第N+i+l行只有一个整数Ti.
Output
第1到Q行:对与每个询问,在词问的时间内,奶牛敲击的是哪个音阶?
Sample Input
3 5
2 1 3
2
3
4
0
1
Sample Output
2
3
3
1
1
是的,你没猜错,前缀和+二分
#include<stdio.h>
#include<algorithm>
using namespace std;
int sum[50005];
int main(void)
{
int n, q, x, i;
scanf("%d%d", &n, &q);
for(i=1;i<=n;i++)
{
scanf("%d", &x);
sum[i] = sum[i-1]+x;
}
while(q--)
{
scanf("%d", &x);
printf("%d\n", lower_bound(sum+1, sum+n+1, x+1)-sum);
}
return 0;
}