HDU实在切不下去了,换个地方战。CF有提供数据什么的真是太棒了。
题意,给你M个数字,表示第有Ci个人得i分,要求把这组人分成两组,每组人数都满足大于等于x或者小于等于y。求满足分组条件的分数划分点。。
先求出所有数的和然后从头开始遍历比较寻找到第一个可行答案就行了
#include<iostream>
using namespace std;
int m;
int c[101];
int x,y;
int main(){
int sum = 0;
cin>>m;
for(int i = 0; i < m; i++){
cin>>c[i];
sum += c[i];
}
cin>>x>>y;
int sum2 = 0;
for(int i = 0; i < m; i++){
sum2 += c[i];
int temp = sum - sum2;
if(x<=sum2 && sum2<=y && x<=temp && temp<=y){
cout<<i+2<<endl;
break;
}
}
if(sum2 == sum)
cout<<"0"<<endl;
return 0;
}