80分,求助!
查看原帖
80分,求助!
122551
woshizmcy楼主2021/9/25 22:02
#include<bits/stdc++.h>
using namespace std;
long long n,m,s1,p1,s2,dd,td,smalln=1e10,mn,smallx;
long long a[100010];
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++) {
		if(i<m) dd+=a[i]*(m-i);
		if(i>m) td+=a[i]*(i-m); 
	}
	for(long long i=1;i<=n;i++) {
		if(i<m) {
			mn=s2*(m-i);
			long long x=abs(dd+mn-td);
			if(x<smalln) smalln=x,smallx=i;
			mn=0;
		}
		else if(i==m) {
			long long x=abs(dd+mn-td);
			if(x<smalln) smalln=x,smallx=i;
		}
		else {
			mn=s2*(i-m);
			long long x=abs(td+mn-dd);
			if(x<smalln) smalln=x,smallx=i;
			mn=0;
		}
	}
	cout<<smallx;
	return 0;
}
2021/9/25 22:02
加载中...