64分,SOS求助大佬
查看原帖
64分,SOS求助大佬
1278637
maple_mustard楼主2024/5/25 11:05
#include<bits/stdc++.h>
using namespace std;
int a[100005];

int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    int m,p1,s1,s2;
    cin>>m>>p1>>s1>>s2;
	long long d=0,t=0;
	a[p1]+=s1;
	for(int i=1;i<m;i++){
		d+=a[i]*(m-i);
	}
	for(int i=m+1;i<=n;i++){
		t+=a[i]*(i-m);
	}
	if(d==t){
		cout<<m;
		return 0;
	}
	long long nd,nt;
	int v = m;
	if(d<t){
		long long  j=t-d;
		for(int i=1;i<m;i++){
			nd=d+(s2*(m-i));
			int y=abs(nd-t);
			if(y<j){
				j=nd-t;
				v=i;
			}
		}
		cout<<v;
		return 0;
	}
	if(d>t){
		long long k=d-t;
		for(int i=m+1;i<=n;i++){
			nt=t+(s2*(i-m));
			int y=abs(nt-d);
			if(y<k){
				k=nt-d;
				v=i;
			}
		}
		cout<<v;
	}
	return 0;
}
2024/5/25 11:05
加载中...