P5016求调
  • 板块灌水区
  • 楼主S_Z_Xcoco
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/29 14:41
  • 上次更新2024/7/29 15:38:20
查看原帖
P5016求调
918508
S_Z_Xcoco楼主2024/7/29 14:41
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn=1e5+10,INF=2e9;
ll n,m,p1,s1,s2,c[maxn],xx,kk,mn=INF,minans;
int main(){
    cin.tie(0)->sync_with_stdio(0);
    cin>>n;
    for(int i=1;i<=n;i++)cin>>c[i];
    cin>>m>>p1>>s1>>s2;
    c[p1]+=s1;
    for(int i=1;i<m;i++){
        xx+=c[i]*(m-i);
    }
    for(int i=m+1;i<=n;i++){
        kk+=c[i]*(i-m);
    }
    for(int i=1;i<=n;i++){
        int ans,cj;
        if(i<m){
            ans=s2*(m-i);
            cj=abs(xx+ans-kk);
        }
        else if(i>m){
            ans=s2*(i-m);
            cj=abs(kk+ans-xx);
        }
        else cj=abs(kk-xx);
        if(cj<mn){
            mn=cj;
            minans=i;
        }
    }
    cout<<minans;
    return 0;
}
2024/7/29 14:41
加载中...