80分,求改
查看原帖
80分,求改
984068
maoboxiA2楼主2025/7/23 10:22
#include<bits/stdc++.h>

using namespace std;

int n;

long long g[100010]; 

long long m,p1,s1,s2; 

int main(){
	
	cin>>n;
	
	for(int i=1;i<=n;i++)cin>>g[i];
	
	cin>>m>>p1>>s1>>s2;
	
	g[p1]+=s1;
	
	int sum1=0,sum2=0;
	
	for(int i=1;i<m;i++)sum1+=(m-i)*g[i];
	
	for(int i=n;i>m;i--)sum2+=(i-m)*g[i];
	
	if(sum1==sum2){
		
		cout<<m;
		
		return 0;
		
	}
	
	int minn=INT_MAX,ans=0;
	
	for(int i=1;i<=n;i++){
		
		long long t1=sum1,t2=sum2;
		
		if(i<m)t1+=s2*(m-i);
		
		if(i>m)t2+=s2*(i-m);
		
		if(minn>abs(t1-t2)){
			
			minn=abs(t1-t2);
			
			ans=i;
			
		}
		
	}
	
	cout<<ans;
	
	return 0;
	
} 
2025/7/23 10:22
加载中...