求助 72
查看原帖
求助 72
1311756
YZzhcAAA楼主2025/8/29 10:28
#include <bits/stdc++.h>
using namespace std;
long long n;
long long a[10000005],sum,ans,cnt,k,minn=1e19;
long long s1,m,s2,p;
int main()
{
	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<m;i++)
		sum+=a[i]*abs(m-i);
	for(int i=n;i>m;i--)
		ans+=a[i]*abs(m-i);
	k=m;
	if(sum<ans)
	{
		for(int i=1;i<m;i++)
		{
			sum+=s2*abs(m-i);
			if(abs(sum-ans)<minn)
			{
				minn=abs(sum-ans);
				k=i;
			}
			sum-=s2*abs(m-i);
		}
	}
	else if(sum>ans)
	{
		for(int i=m+1;i<=n;i++)
		{
			ans+=s2*abs(m-i);
			if(abs(sum-ans)<minn)
			{
				minn=abs(sum-ans);
				k=i;
			}
			ans-=s2*abs(m-i);
		}
	}
	cout<<k;
	return 0;
 } 
2025/8/29 10:28
加载中...