92分求助!!!
查看原帖
92分求助!!!
372336
一个句号楼主2022/10/7 20:14
#include<bits/stdc++.h>
#define ll long long
using namespace std;

ll n,m,s1,s2,p1,p2;
ll c[100010];
ll dragon,tiger;
ll ans=99999999,k;

int main(){
//	freopen("fight.in","r",stdin);
//	freopen("fight.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		scanf("%d",c+i);
	}
	cin>>m>>p1>>s1>>s2;
	
	for(int i=1;i<m;i++){
		dragon+=c[i]*(m-i);
	}
	for(int i=n;i>m;i--){
		tiger+=c[i]*(i-m);
	}
	if(p1<m) dragon+=s1*(m-p1);
	if(p1>m) tiger+=s1*(p1-m);//突袭 

	for(int i=1;i<=n;i++){
		if(i<=m){
			dragon+=s2*(m-i);
			if(ans>abs(dragon-tiger)){
				ans=abs(dragon-tiger);
				p2=i;
			}
			dragon-=s2*(m-i);
		}
		else if(i>=m){
			tiger+=s2*(i-m);
			if(ans>abs(dragon-tiger)){
				ans=abs(dragon-tiger);
				p2=i;
			}
			tiger-=s2*(i-m);
		}


	} 
	cout<<p2;
	
	return 0;
	
//	fclose(stdin);
//	fclose(stdout);
}
2022/10/7 20:14
加载中...