P1109 学生分组 C++题解
#include <bits/stdc++.h>
using namespace std;
int N,L,R;
int n[55];
int main(){
cin>>N;
int num=0;//需要移动的次数
int sum=0; //总和
//int avg=0;
for(int i=0;i<N;i++){
cin>>n[i];
sum+=n[i];
}
// avg=sum/N;
cin>>L>>R;
int qsum=0,dsum=0;//qsum缺少的总人数, dsum多出的总人数
if(sum<L*N||sum>R*N){
cout<<"-1"<<endl;
return 0;
}
else{
for(int i=0;i<N;i++){
if(n[i]<L){
qsum+=L-n[i];
}
if(n[i]>R){
dsum+=n[i]-R;
}
}
}
cout<<max(qsum,dsum)<<endl;
return 0;
}