Codeforces Round #376 (Div. 2) F. Video Cards
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #376 (Div. 2) F. Video Cards相关的知识,希望对你有一定的参考价值。
题解:
没想到是直接暴力求解。。。。。
使用前缀和加速
代码:
#include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=1000100; int a[maxn],num[maxn]; int n,x; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&x); a[x]++; } for(int i=200000;i>=1;i--) num[i]=num[i+1]+a[i]; ll sum=0; for(int i=1;i<=200000;i++) { if(a[i]) { ll cnt=0; for(int j=i;j<=200000;j+=i) cnt+=(ll)(num[j]-num[j+i])*j; sum=max(sum,cnt); } } printf("%lld\n",sum); }
以上是关于Codeforces Round #376 (Div. 2) F. Video Cards的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #376 (Div. 2) F. Video Cards
Codeforces Round #376 (Div. 2) E. Funny Game
Codeforces Round #436 E. Fire(背包dp+输出路径)