提交时间:2026-02-02 16:12:40
运行 ID: 39815
#include <bits/stdc++.h> using namespace std; long long c[100005]; long long n, a, b; long long K(long long x) { return x*(x-1)/2; } int main() { cin>>n>>a>>b; for(int i=1;i<=n;i++)cin>>c[i]; sort(c+1,c+n+1); long long ans=0,sum=0,pos=1; for(int i=1;i<=c[n];i++){ while(pos<=n&&c[pos]<=i) sum+=K(c[pos]),pos++; long long r=sum; for(int j=pos;j<=n;j++) r+=K(c[j])-K(c[j]/i)*i-(c[j]/i)*(c[j]%i); ans=max(ans,r*a-(i-1)*b); } cout<<ans<<endl; return 0; }