//室友报的,只能自己在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; }
点赞 2

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务