80分蒟蒻求助 最后五个点全RE
查看原帖
80分蒟蒻求助 最后五个点全RE
394135
programmer_X楼主2021/2/13 19:21
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll ans,t,minn=99999999;
ll n,m,p1,s1,s2,c[10002],sa=0,sb=0;
ll v(ll a,ll b){
	//在第a个位置上有b个人的势力
	return abs(a-m)*b; 
}
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++){
		cin>>c[i];
	}
	cin>>m>>p1>>s1>>s2;
	c[p1]+=s1;
	for(ll i=1;i<=n;i++){
		if(i<m)sa+=v(i,c[i]);
		if(i>m)sb+=v(i,c[i]);
	}
//	cout<<sa<<" "<<sb<<endl;
	for(ll i=1;i<=n;i++){
		if(i<m){
			t=abs(sa+v(i,s2)-sb);
			if(t<minn){
				minn=t;
				ans=i;
			}
		}
		else{
			t=abs(sa-sb-v(i,s2));if(t<minn){
				minn=t;
				ans=i;
			}
		}
	//	cout<<"放到"<<i<<"时,差为"<<t<<endl;
	}cout<<ans;
}

有大佬说要开long long

可是本蒟蒻除了main其他开的都是long long啊

2021/2/13 19:21
加载中...