算法练习——吃糖

来源:互联网 发布:c语言char指针 编辑:程序博客网 时间:2024/04/30 14:12

时间限制: 2  S        内存限制: 128  MB

题目描述:

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

输入:

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

输出:

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

样例输入:

52 7 3 4 931 25 11

样例输出:

153

Language: C++

#include <iostream>    using namespace std;  int main(){int n,m;cin>>n;int a[n];int sum=0;for(int i=0;i<n;i++){cin>>a[i];}cin>>m;int b[m];for(int j = 0;j<m;j++){cin>>b[j];}int count = 0;for(int j = 0;j<m;j++){for(int i = 0;i<n;i++){if(b[j]>sum){ sum += a[i]; count++;}}cout<<count<<endl;sum=0;count=0;}}  
——非常欢迎您留言指正及改进微笑


0 0