CSP-J 2018 T2 龙虎斗

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+20;
int n,a[N],m,p1,s1,s2,num1,num2,t1,t2,minn=0x3f3f3f3f,ans;
int f(int x,int y){
    if(x>=y) return x-y;
    return y-x;
}
signed main(){
    freopen("fight.in","r",stdin);
    freopen("fight.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    cin>>m>>p1>>s1>>s2;
    a[p1]+=s1;
    for(int i=1;i<=n;i++){
        if(i<m){
            num1+=(m-i)*a[i];
        }else if(m<i){
            num2+=(i-m)*a[i];
        }
    }
    for(int i=1;i<=n;i++){
        t1=num1;
        t2=num2;
        if(i<m){
            t1+=(m-i)*s2;
        }else if(m<i){
            t2+=(i-m)*s2;
        }
        int t3=f(t1,t2);
        if(minn>t3){
            minn=t3;
            ans=i;
        }
    }
    cout<<ans;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值