AC代码
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<queue>
using namespace std;
typedef long long ll;
int n,a[53],l,r,sum,mi,mx;
int main()
{
cin>>n;
for(int i=1;i<=n;++i)
{
cin>>a[i];
sum+=a[i];
}
cin>>l>>r;
for(int i=1;i<=n;++i)
{
if( a[i] < l ) mi+=l-a[i]; //不够的
if( a[i] > r ) mx+=a[i]-r; //多的
}
if( sum < n * l || sum > n * r) cout<<-1<<endl;
else cout<<max(mi,mx);
return 0;
}
为什么答案是求最大值:要让多的人去少的人那边--->是先满足少的人