//室友报的,只能自己在IDE上尝试,也不知道方法可不可以,发出来求各位大神指教一下
每次将待查询的数(query)与之前每组的个数(group)做比较,若比个数大,则减去group数组的值,直到小于group的值,则落在那俩个数的区间,即得到组号。
思路比较乱,代码略渣,见谅。
using namespace std;

int main(){
int n;
cin>>n;
int group[n];
for(int i = 0;i<n;i++){
cin>>group[i];
}
int q;
cin>>q;
int query[q];
for(int i = 0;i<q;i++){
cin>>query[i];
}
int result[q];
for(int i = 0;i<q;i++){
int j = 0;
while(query[i]>group[j]){
query[i] -= group[j];
j++;
}
result[i] = j+1;
}
for(int i = 0;i<q;i++)
if(i<q-1)
cout<<result[i]<<' ';
else
cout<<result[i];
return 0;
}