72分求助
查看原帖
72分求助
546470
Firsk101楼主2022/10/8 21:18
#include<bits/stdc++.h>
using namespace std;
long long  a[100010];
long long suml,sumh;
long long m,p1,s1,s2;
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;++i)
	{
		cin>>a[i];
	}
	cin>>m>>p1>>s1>>s2;
	a[p1]+=s1;
	for(int i=1;i<=n;++i)
	{
		if(i<m)
		{
			suml+=a[i]*(m-i);
		}
		else if(i>m)
		{
			sumh+=a[i]*(i-m);
		}
	}
	if(suml==sumh)
	{
		cout<<m;
		return 0;
	}
	long long ans=abs(suml-sumh);
	int anss;
	for(int i=1;i<=n;i++)
	{
		if(i<m)
		{
			if(ans>abs(suml+s2*(m-i)-sumh))
			{
				ans=abs(suml+s2*(m-i)-sumh);
				anss=i;
			}
		}
		else if(i>m)
		{
			if(ans>abs(suml-(sumh+s2*(i-m))))
			{
				ans=abs(suml-(sumh+s2*(i-m)));
				anss=i; 
			}
		}
	}
	cout<<anss;
	return 0;
}

2022/10/8 21:18
加载中...