记录编号 |
529106 |
评测结果 |
AAAAAAAAAAWAAAWAAAAAWWAAA |
题目名称 |
[NOIP 2018PJ]龙虎斗 |
最终得分 |
84 |
用户昵称 |
DR.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;
}