记录编号 607846 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 3050.[NOIP 2018PJ]龙虎斗 最终得分 100
用户昵称 Gravatar2_16鸡扒拌面 是否通过 通过
代码语言 C++ 运行时间 0.459 s
提交时间 2025-10-21 19:36:42 内存使用 3.84 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

long long n,m,p1,s1,s2;
long long p2,zxy=0x3f3f3f3f,ans;//zxy为士气值,ans为结果编号 
long long k1=0,k2=0;
long long c[100005];

long long jyt(long long a,long long b)
{
    if(a>b) return a-b;
    return b-a;
}

int main()
{
    freopen("noip2018pj_fight.in","r",stdin);
    freopen("noip2018pj_fight.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;++i)
    {
        cin>>c[i];
    }
    cin>>m>>p1>>s1>>s2;
    c[p1]+=s1;
    for(long long i=1;i<m;++i) k1+=jyt(i,m)*c[i];
    for(long long i=m+1;i<=n;++i) k2+=jyt(i,m)*c[i];
    if(k1==k2)
    {
        cout<<m;
        return 0;
    }
    for(long long i=1;i<=n;++i)
    {
        if(i>m)
        {
            if(jyt(k1,k2+jyt(i,m)*s2)<=zxy)
            {
                ans=i;
                zxy=jyt(k1,k2+jyt(i,m)*s2);
            } 
            continue;
        } 
        else if(i<m)
        {
            if(jyt(k2,k1+jyt(i,m)*s2)<=zxy)
            {
                ans=i;
                zxy=jyt(k2,k1+jyt(i,m)*s2);
            } 
            continue;
        }
        else continue;
    }
    if(jyt(k2,k1)<=zxy) ans=m;
    cout<<ans;
    return 0;
}