80分求助
查看原帖
80分求助
376977
Harry_Meng楼主2021/10/13 19:20

提交记录

#include<iostream>
#include<cstdio>
#include<cmath>
#define ll long long
#define N 100005
using namespace std;
ll n;
ll a[N];
ll m,p,s1,s2;
ll d,t;
ll cha;
ll ans;
ll read(){
	ll x=0,f=1;
	char ch=getchar();
	while((ch<'0'||ch>'9')&&ch!='-'){
		ch=getchar();
	}
	if(ch=='-'){
		f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=(x<<1)+(x<<3)+(ch^48);
		ch=getchar();
	}
	return x*f;
}
int main(){
//	freopen("fight.in","r",stdin);
//	freopen("fight.out","w",stdout);
	n=read();
	for(ll i=1;i<=n;i++){
		a[i]=read();
	}
	m=read();
	p=read();
	s1=read();
	s2=read();
	a[p]+=s1;
	for(ll i=1;i<=m-1;i++){
		d+=a[i]*(m-i);
	}
	for(ll i=n;i>=m+1;i--){
		t+=a[i]*(i-m);
	}
	cha=abs(d-t);
	bool f=0;
	if(d==t){
		printf("%lld",m);
		f=1;
	}
	else if(d>t){
		ll qz=floor(1.0*cha/s2);
		if(1.0*cha/s2-qz>0.5){
			ans=m+qz+1;
		}
		else{
			ans=m+qz;
		}
	}
	else{
		ll qz=floor(1.0*cha/s2);
		if(1.0*cha/s2-qz>=0.5){
			ans=m-qz+1;
		}
		else{
			ans=m-qz;
		}
	}
	if(ans==0){
		ans=1;
	}
	if(f==0){
		printf("%lld",ans);
	}
//	fclose(stdin);
//	fclose(stdout);
	return 0;
}
2021/10/13 19:20
加载中...