| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 39826 | stevenyu | 【S】T2 | C++ | 通过 | 100 | 28 MS | 1040 KB | 650 | 2026-02-02 19:27:08 |
#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; } /* */