68分蒟蒻求助
查看原帖
68分蒟蒻求助
941533
EMO_smile楼主2023/10/6 08:05
#include<bits/stdc++.h>
using namespace std;
long long n,c[100001],m,p1,s1,s2,b1[100001],b2[100001],dragon=0,tiger=0,tmp,minn=0xffff,ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>c[i];
	}
	cin>>m>>p1>>s1>>s2;
	c[p1]+=s1;
	for(int i=1;i<m;i++){
		dragon+=c[i]*abs(m-i);
		b1[i]=1;
	}for(int i=m+1;i<=n;i++){
		tiger+=c[i]*abs(i-m);
		b1[i]=0;
	}
	b1[m]=2;
//	/cout<<dragon<<" "<<tiger<<endl;
	minn=abs(dragon-tiger);
	if(dragon>tiger){
		for(int i=m+1;i<=n;i++){
			tmp=tiger+s2*abs(i-m);
			if(abs(dragon-tmp)<minn){
				minn=abs(tiger-tmp);
				ans=i;
			}
		}
		if(ans==0){
			cout<<m;
			return 0;
		}
		cout<<ans;
	}else if(dragon<tiger){
		for(int i=1;i<m;i++){
			tmp=dragon+s2*abs(i-m);
			//cout<<tmp<<endl;

			if(abs(tiger-tmp)<minn){
				minn=abs(tiger-tmp);
				ans=i;
			}
		}
		if(ans==0){
			cout<<m;
			return 0;
		}
		cout<<ans;
	}else{
		cout<<m;
	}
		
	return 0;
}
2023/10/6 08:05
加载中...