Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
33858 | A21μΘ_wjy | 【S】T2 | C++ | 运行出错 | 0 | 1994 MS | 3572 KB | 972 | 2024-10-24 14:01:45 |
#include<bits/stdc++.h> #define int long long #define endl '\n' using namespace std; const int maxn=2e5+7; int n,b,x; int c[maxn]; int tmp[maxn]; int cnt[maxn]; inline void slv(){ cin>>n>>b>>x; for(int i=1;i<=n;i++)cin>>c[i],tmp[i]=c[i]; sort(tmp+1,tmp+n+1); int tot=unique(tmp+1,tmp+n+1)-tmp-1; for(int i=1;i<=tot;i++)cnt[i]=0; for(int i=1;i<=n;i++){ c[i]=lower_bound(tmp+1,tmp+tot+1,c[i])-tmp; cnt[c[i]]++; } int V=tmp[tot]; int ans=0; for(int k=1;k<=V;k++){ int cur=0; for(int i=1;i<=tot;i++){ int F0=tmp[i]/k,F1=(tmp[i]+(k-1))/k; int C1=tmp[i]%k,C0=k-C1; cur+=((tmp[i]*tmp[i]-F0*F0*C0-F1*F1*C1)*cnt[i]>>1); } cur=cur*b; ans=max(ans,cur-(k-1)*x); } cout<<ans<<endl; } signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t; cin>>t; while(t--)slv(); return 0; }