提交时间:2026-02-02 19:27:08

运行 ID: 39826

#include<bits/stdc++.h> using namespace std; #define int long long int n,c[100005],b,x,sum,ans; int check(int mid){ int tp=0; for(int i=1;i<=n;i++){ int t1=c[i]/mid; int t2=c[i]%mid; tp+=c[i]*(c[i]-1)/2; tp-=mid*(t1-1)*t1/2; tp-=t2*t1; } return tp*b-(mid-1)*x; } signed main(){ cin>>n>>b>>x; int tp=0; for(int i=1;i<=n;i++){ cin>>c[i]; sum+=c[i]; } int l=1,r=sum; while(l<r){ int mid=(l+r)>>1; if(check(mid)<=check(mid+1))l=mid+1; else r=mid; } cout<<check(l)<<endl; return 0; } /* */