希望有大佬帮帮忙。
#include <bits/stdc++.h>
using namespace std;
long long n,m,i,x,y,z,sum1,sum2,ans,minn,a[100010];
int main(){
scanf("%lld",&n);
for(i=1;i<=n;i++) scanf("%lld",&a[i]);
scanf("%lld%lld%lld%lld",&m,&x,&y,&z);
a[x]+=y;
for(i=1;i<m;i++) sum1+=a[i]*(m-i);
for(i=m+1;i<=n;i++) sum2+=a[i]*(i-m);
minn=abs(sum1-sum2);
for(i=1;i<m;i++)
if(minn>abs(sum1+z*(m-i)-sum2)){
minn=abs(sum1+z*(m-i)-sum2);
ans=i;
}
for(i=m+1;i<=n;i++)
if(minn>abs(sum2+z*(i-m)-sum1)){
minn=abs(sum2+z*(i-m)-sum1);
ans=i;
}
printf("%lld\n",ans);
return 0;
}