6 WA了
查看原帖
6 WA了
517637
瀛洲仙子楼主2023/8/24 11:13

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;
}
2023/8/24 11:13
加载中...