80分 WA 求助
查看原帖
80分 WA 求助
499824
铛铛楼主2022/10/28 15:22
#include <bits/stdc++.h>
using namespace std;

long long n,m,p1,s1,s2,p2;
long long l,h;
long long a[10000100],b[10000010];
long long minn; 

int main(){
	cin>>n;
	for(long long i=1;i<=n;i++){
		cin>>a[i];
	}
	cin>>m>>p1>>s1>>s2;
	a[p1]+=s1;
	for(long long i=1;i<=n;i++){
		b[i]=((long long)abs(i-m)*a[i]);
		if(i<m) l+=b[i];
		if(i>m) h+=b[i];
	}
	minn=abs(l-h);
	p2=m;
	int k;
	for(long long i=1;i<=n;i++){
		k=((long long)abs(i-m)*(a[i]+s2));
		if(i<m) l+=(k-b[i]);
		if(i>m) h+=(k-b[i]);
		if((long long)abs(l-h)<minn){
			minn=l-h;
			p2=i;
		}
		if(i<m) l-=(k-b[i]);
		if(i>m) h-=(k-b[i]);
	}
	cout<<p2;
	return 0;
}

2022/10/28 15:22
加载中...