记录编号 |
541647 |
评测结果 |
AAAAAAAAAAAAAAAAAAAAAAAAA |
题目名称 |
[NOIP 2018PJ]龙虎斗 |
最终得分 |
100 |
用户昵称 |
没啥,随心 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.285 s |
提交时间 |
2019-09-14 23:24:44 |
内存使用 |
21.29 MiB |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
long long int n,m,a[1000001],p1,s1,s2,z1=0,z2=0;
long long int s=999999999,jg,zz1=0,zz2=0;
int main(){
freopen("noip2018pj_fight.in","r",stdin);
freopen("noip2018pj_fight.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
cin>>m>>p1>>s1>>s2;
a[p1]=a[p1]+s1;
for(int i=1;i<=n;i++)
{
if(i<m) z1=z1+abs(i-m)*a[i];
if(i>m) z2=z2+abs(i-m)*a[i];
}
if(z1<z2)
{
for(int i=1;i<=m;i++)
{ zz1=z1;
zz1=z1+abs(i-m)*s2;
if(abs(zz1-z2)<s)
{
s=abs(zz1-z2);
jg=i;
}
}
}
else
{
if(z1>z2)
{
for(int i=m;i<=n;i++)
{ zz2=z2;
zz2=z2+abs(i-m)*s2;
if(abs(zz2-z1)<s) {
s=abs(zz2-z1);
jg=i;
}
}
}
else
{
cout<<m;
return 0;
}
}
cout<<jg;
return 0;
}