36分小菜求助
查看原帖
36分小菜求助
715760
War_GodO_oBrother楼主2023/4/16 19:09
#include <bits/stdc++.h>
using namespace std;
int main(){
    long long n,a[100005],m,p1,s1,s2,cnt1,cnt2,min=999999999,t,s;
    cin>>n;
    for(int i=0;i<n;i++){
    	cin>>a[i];
	}
	cin>>m>>p1>>s1>>s2;
	if(p1=m){
		cout<<m;
		return 0;
	}
	a[p1]=a[p1]+s1;
	if(p1<m){
		for(int i=0;i<m-1;i++){
			cnt1+=a[i]*(m-i);
		}	
		for(int j=m+1;j<n-m;j++){
			cnt2=0;
			a[j]=a[j]+s2;
			cnt2+=a[j]*(j-m);
			if(cnt1>cnt2){
				if((cnt1-cnt2)<min){
					min=j;
				}
			}
			if(cnt2>cnt1){
				if((cnt2-cnt1)<min){
					min=j;
				}
			}
		}
		cout<<min;
		return 0;
	}
	if(p1>m){
		for(int i=m+1;i<n-m;i++){
			cnt1+=a[i]*(i-m);
		}	
		for(int j=0;j<m-1;j++){
			cnt2=0;
			a[j]=a[j]+s2;
			cnt2+=a[j]*(m-j);
			if(cnt1>cnt2){
				if((cnt1-cnt2)<min){
					min=j;
				}
			}
			if(cnt2>cnt1){
				if((cnt2-cnt1)<min){
					min=j;
				}
			}
			
		}
		cout<<min;
		return 0;
	}
    return 0;
}
2023/4/16 19:09
加载中...