P5016龙虎斗求调
  • 板块灌水区
  • 楼主ecxjs
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/4 18:18
  • 上次更新2024/7/4 18:36:01
查看原帖
P5016龙虎斗求调
855116
ecxjs楼主2024/7/4 18:18
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
    int n;
    cin>>n;
    int c[n+1];
    for(int i=1;i<=n;i++){
        cin>>c[i];
    }
    int m,p1,s1,s2;
    cin>>m>>p1>>s1>>s2;
    int l=0,h=0;
    for(int i=1;i<=m-1;i++){
        l+=abs(i-m)*c[i];
    }
    for(int i=m+1;i<=n;i++){
        h+=abs(i-m)*c[i];
    }
    if(p1<m){
        l+=abs(m-p1)*s1;
    }
    if(p1>m){
        h+=abs(m-p1)*s1;
    }
    int ans=-1,minn=10000000000;
    for(int i=1;i<=n;i++){
        int ln=l,hn=h;
        if(i<m){
            ln+=abs(m-i)*s2;
            int cha=abs(ln-hn);
            if(cha<minn){
                minn=cha;
                ans=i;
            }
        }
        if(i>m){
            hn+=abs(m-i)*s2;
            int cha=abs(ln-hn);
            if(cha<minn){
                minn=cha;
                ans=i;
            }
        }
    }
    if(ans==-1)cout<<m;
    else cout<<ans;
}

64pts,找不出错,谢谢!

2024/7/4 18:18
加载中...