64分QAQ
查看原帖
64分QAQ
550532
LS时空光影楼主2022/10/12 21:41

希望有大佬帮帮忙。

#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;
}
2022/10/12 21:41
加载中...