求助52
查看原帖
求助52
780505
x1489631649楼主2023/9/29 22:01
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
	long long n,m,p1,s1,s2,ans1=0,ans2=0,flag;
	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<m;i++)
		ans1+=(m-i)*a[i];
	for(int i=m+1;i<=n;i++)
		ans2+=(i-m)*a[i];
	long long minn=int(abs(ans1-ans2));
	if(ans1==ans2)
	{
		cout<<m;
		return 0;
	}
	if(ans1<ans2)
	{
		for(int i=1;i<m;i++)
		{
			long long x=int(abs((ans1+(m-i)*s2)-ans2));
			if(x<minn)
			{
				minn=x;
				flag=i;
			}
		}
	}
	else{
		for(int i=m+1;i<=n;i++)
		{
			long long x=int(abs((ans2+(i-m)*s2)-ans1));
			if(x<minn)
			{
				minn=x;
				flag=i;
			}
		}
	}
	cout<<flag;
}
2023/9/29 22:01
加载中...