救民于水火

x-hechengye 2022-08-11 16:22:53 24 返回题目

#include<bits/stdc++.h>
using namespace std;
long long n,a[100001],z1=0,z2=0;
int main()
{
	long long  m,s1,s2,p1;
	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)z1+=a[i]*(m-i);
		if(i>m)z2+=a[i]*(i-m);
	}
	long long min=10e16,k=m;
	if(z1>z2){
		long long c=z1-z2;
		for(int i=m;i<=n;i++)
		{
			if(abs(c-s2*(i-m))<min)k=i,min=abs(c-s2*(i-m)); 
		}
	}
	if(z1<z2){
		long long c=z2-z1;
		for(int i=1;i<=m;i++)
		{
			if(abs(c-s2*(m-i))<min)k=i,min=abs(c-s2*(m-i)); 
		}
	}
	cout<<k;
	return 0;
} 
{{ vote && vote.total.up }}