!!!求助!!!求助!!!求助!!!
查看原帖
!!!求助!!!求助!!!求助!!!
331557
ISTIA楼主2021/10/11 20:30
#include <iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    // freopen("fight.in","r",stdin);
    // freopen("fight.out","w",stdout);
    long long int note=-1,maxn=10000001,n,a[100000001],m,p,s1,s2,lo,hu;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    cin>>m>>p>>s1>>s2;
    a[p]+=s1;
    for(int i=1;i<=n;i++)
    {
        if(i==m)
        {
            continue;
        }
        if(i>m)
        {
            hu+=a[i]*abs(m-i);
            a[i]*=abs(m-i);
        }
        else
        {
            lo+=a[i]*abs(m-i);
            a[i]*=abs(m-i);
        }
    }
    for(int i=1;i<=n;i++)
    {
        if(i==m)
        {
            continue;
        }
        if(i>m)
        {
            hu+=s2*abs(m-i);
        }
        else
        {
            lo+=s2*abs(m-i);
        }

        if(maxn>abs(lo-hu))
        {
            note=i;
            maxn=abs(lo-hu);
        }

        if(i>m)
        {
            hu-=s2*abs(m-i);
        }
        else
        {
            lo-=s2*abs(m-i);
        }
    }
    cout<<note<<endl;
    return 0;
}
2021/10/11 20:30
加载中...