72分求助
查看原帖
72分求助
613128
x100212楼主2022/3/12 00:10

求助,72分

#include <bits/stdc++.h>
using namespace std;
long long n,m,p1,p2,s1,s2,x,y,k,a[100001],minn=99999;
int main()
{
	int i;
    cin>>n;
    for(i=1;i<=n;i++)
	  cin>>a[i];
    cin>>m>>p1>>s1>>s2;
    a[p1]=a[p1]+s1;
    for(i=1;i<m;i++)
	  x=x+a[i]*(m-i);
    for(i=m+1;i<=n;i++)
	  y=y+a[i]*(i-m);
    k=abs(x-y);
    if(x==y||s2==0)
	{
        cout<<m;
        return 0;
    }
    if(x<y)
	{
        for(i=1;i<=m;i++)
		{
            k=abs(abs(x-y)-s2*(m-i));
            if(k<minn)
			{
                minn=k;
                p2=i;
            }
        }
    }
    else
	{
        for(i=m+1;i<=n;i++)
		{
            k=abs(abs(x-y)-s2*(i-m));
            if(k<minn)
			{
                minn=k;
                p2=i;
            }
        }   
    }
    cout<<p2;
    return 0;
}

大佬们救救本蒟蒻

2022/3/12 00:10
加载中...