72分,求调,谢谢
查看原帖
72分,求调,谢谢
1772391
huangshenglun楼主2025/7/21 22:08
#include<bits/stdc++.h>
using namespace std;
long long a[100010000];
long long p2[100010000];
long long m,p1,s1,s2;
long long d[10001000];
int main(){
    long long n,b=0,c=0,sum=0;
    long long ans=0x15fffffffffffffff;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    cin>>m>>p1>>s1>>s2;
    d[p1]+=s1*abs(m-p1);
    for(int i=1;i<=n;i++){
        d[i]+=a[i]*abs(m-i);
        if(i<m)b+=d[i];
        if(i>m)c+=d[i];
    }
    for(int i=1;i<=n;i++){
        if(b==c){
            cout<<m;
            return 0;
        }
        if(i<m){
            p2[i]=abs((b+abs(m-i)*s2)-c);
        }
        if(i>m){
            p2[i]=abs((c+abs(m-i)*s2)-b);
        }
        if(p2[i]<ans&&i!=m){
            ans=p2[i];
            sum=i;
        }
    }
    cout<<sum;
    return 0;
}
2025/7/21 22:08
加载中...