WA on test #6
#include<bits/stdc++.h>
using namespace std;
int gr[55];int summ;
int to[55];
int main()
{
int n;cin>>n;
for(int i=1;i<=n;++i)
cin>>gr[i];
for(int i=1;i<=n;++i)
summ+=gr[i];
int l,r;cin>>l>>r;
if(summ<l*n or summ>r*n)
{cout<<"-1";return 0;}
for(int i=1;i<=n;++i)
if(gr[i]<l)to[i]=gr[i]-l;
else if(gr[i]>r)to[i]=gr[i]-r;
int ans=0;int big=1,sma=1;
while(big<=n and sma<=n)
{
while(to[big]<=0 and big<=n)++big;
while(to[sma]>=0 and sma<=n)++sma;
if(to[big]+to[sma]>0)
{
ans+=0-to[sma];
to[big]+=to[sma];
to[sma]=0;
}
else if(to[big]+to[sma]<0)
{
ans+=to[big];
to[sma]+=to[big];
to[big]=0;
}
else
{
ans+=to[sma];
to[sma]=to[big]=0;
}
}
for(int i=1;i<=n;++i)
if(to[i])ans+=abs(to[i]);
cout<<ans;
}