记录编号 529106 评测结果 AAAAAAAAAAWAAAWAAAAAWWAAA
题目名称 [NOIP 2018PJ]龙虎斗 最终得分 84
用户昵称 GravatarDR.H 是否通过 未通过
代码语言 C++ 运行时间 0.346 s
提交时间 2019-03-26 19:23:11 内存使用 3.80 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath> 
using namespace std;
int main(){
	freopen("noip2018pj_fight.in","r",stdin);
	freopen("noip2018pj_fight.out","w",stdout);
	int n,m,p1,s1,s;
	long long int lq=0,hq=0,q,w,f=0,a[100000];
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	cin>>m>>p1>>s1>>s;
	a[p1]+=s1;
	for(int i=1;i<=n;i++){
		if(i<m)
			lq=(m-i)*a[i]+lq;
		if(i>m)
			hq=(i-m)*a[i]+hq;
	}
	if(lq<hq){
		q=hq-lq;
		for(int i=m-1;i>0;i--){
			f++;
			if(q-s*f<0){
				w=q-s*f+s;f=abs(q-s*f);
				if(f<w){
					cout<<i;}
				else{
					if(f>w)
						cout<<i+1;
				}
				break;
	    	}
			if(f==m-1){
				cout<<'1';return 0;}
		}
	}
	if(lq>hq){
		q=lq-hq;
		for(int i=m+1;i<=n;i++){
			f++;
			if(q-s*f<0){
				f=abs(q-s*f);w=q-s*f+s;
				if(f<w)
					cout<<i;
				else{
					if(f>w)
						cout<<i-1;
				}
				break;
			}
			if(f==n-m){
				cout<<n;return 0;}
		}
	}
	if(lq==hq)
		cout<<m;
	return 0;
}