80分求条
查看原帖
80分求条
1385791
fushuoting楼主2024/12/14 21:47
#include<bits/stdc++.h>
using namespace std;
const int N=100000;
#define int long long
int a[N+1];
signed main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    int m,p1,s1,s2;
    cin>>m>>p1>>s1>>s2;
    a[p1]+=s1;
    int l=0,h=0;
    for(int i=1;i<=n;i++)
    {
        if(i<m)
        {
            l+=a[i]*(m-i);
        }
        else if(i>m)
        {
            h+=a[i]*=(i-m);
        }
    }
    int minc=LONG_MAX,mini=0;
    for(int i=1;i<=n;i++)
    {
        int ll=l,hh=h;
        if(i<m)
        {
            ll+=s2*(m-i);
        }
        else if(i>m)
        {
            hh+=s2*=(i-m);
        }
        int c;
        c=abs(ll-hh);
        if(c<minc)
        {
            minc=c;
            mini=i;
        }
    }
    cout<<mini;
}
2024/12/14 21:47
加载中...