传送门

将元素分为两类,大于mmm的和小于等于mmm的。

对于大于mmm的,我们将最大的那个放在序列末端,然后枚举其它元素有多少个能产生贡献,假设有xxx个能产生贡献,那么这xxx个元素还会消耗xdxdxd个其它(包括小于等于mmm的)元素,如果x(d+1)+1>nx(d+1)+1>nx(d+1)+1>n,那么这种枚举不成立,否则的话我们可以快速计算出当前情况下的最大值。

不过需要注意的是,最大的那个不一定会放在序列末端,事实上我们有时候大于mmm的元素无法被消耗完,这时候可以往队列末端放(所以假设有ggg个大于mmm的元素,当g>x(d+1)+1g>x(d+1)+1g>x(d+1)+1的时候的casecasecase也是需要被考虑的),其实放多了(大于ddd个)其实也没关系,因为这样算出来的一定不是最优解,后面算出最优解会将它替换掉。

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int maxn = 1e5+5;
ll a[maxn],b[maxn];
ll tota,totb;int main(){ll n,m,d;scanf("%lld%lld%lld",&n,&d,&m);for(int i=1;i<=n;++i){int u;scanf("%d",&u);if(u>m)b[++totb]=u;else a[++tota]=u;}sort(b+1,b+1+totb);sort(a+1,a+1+tota);for(int i=1;i<=totb;++i)b[i]+=b[i-1];for(int i=1;i<=tota;++i)a[i]+=a[i-1];if(!totb)printf("%lld\n",a[tota]);else{ll ans=0;for(int i=totb;i>=1;--i){if((totb-i)*(d+1)+1>n)continue;ans=max(ans,b[totb]-b[i-1]+a[tota]-a[max((totb-i)*d-i+1,0ll)]);}printf("%lld\n",ans);}
}

acm-(模拟、暴力枚举)Codeforces Round #664 (Div. 1) A. Boboniu Chats with Du相关推荐

  1. 暴力+构造 Codeforces Round #283 (Div. 2) C. Removing Columns

    题目传送门 1 /* 2 题意:删除若干行,使得n行字符串成递增排序 3 暴力+构造:从前往后枚举列,当之前的顺序已经正确时,之后就不用考虑了,这样删列最小 4 */ 5 /************* ...

  2. Codeforces Round #664 (Div. 2)

    写了三个题结果C fst了O.0 A - Boboniu Likes to Color Balls 回文串,最多有球是一个奇数个. #define IO ios::sync_with_stdio(fa ...

  3. D. Boboniu Chats with Du(枚举+思维)Codeforces Round #664 (Div. 2)

    原题链接: https://codeforces.com/contest/1395/problem/D 题意: 你用过QQ吧,用过QQ就跳过咯?就是你有一堆有趣的快乐因子,然后你要搞怪群主,如果你的快 ...

  4. 枚举 ---- Codeforces Round #711 (Div. 2) D. Bananas in a Microwave[枚举暴力+思维优化]

    题目链接 题目大意: 就是你有n次操作,每次操作给你三个参数:ti,xi,yit_i,x_i,y_iti​,xi​,yi​. 如果ti==1t_i == 1ti​==1你可以进行k=k+xik=k+x ...

  5. 【模拟+数学】Codeforces Round #621 (Div. 1 + Div. 2) 1307E Cow and Treats

    Cow and Treats [cf链接] After a successful year of milk production, Farmer John is rewarding his cows ...

  6. D. Boboniu Chats with Du(Codeforces Round #664 (Div. 2) )

    感受 怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间 题意 简单来说,给 ...

  7. 【暴力】Codeforces Round #398 (Div. 2) A. Snacktower

    题意不复述. 用个bool数组记录一下,如果某一天,当前剩下的最大的出现了的话,就输出一段. #include<cstdio> using namespace std; int n; bo ...

  8. CF-Codeforces Round #664 (Div. 2)-1395A. Boboniu Likes to Color Balls【思维】

    题目链接 题意:给定四种字母("r,g,b,w")的数量,你可以把("r,g,b")三种字母每种选一个变成三个w,问你能否把这些字母通过上述操作和重组变成回文字 ...

  9. Codeforces Round #271 (Div. 2) C. Captain Marmot (暴力枚举+正方形判定)

    题目链接:Codeforces Round #271 (Div. 2) C. Captain Marmot 题意:给4行数据,每行2个点.(x,y).(a,b).意思是(x,y)绕(a,b)逆时针旋转 ...

最新文章

  1. P3175 [HAOI2015]按位或(Min - Max容斥,FMT,概率期望,全网最清晰的题解!)
  2. 查找Windows文件来历的好方法
  3. sscanf,sscanf_s及其相关用法
  4. JS判断GridView中复选框有没有被选中
  5. LeetCode 08字符串转整数09回文数
  6. 科大星云诗社动态20210429
  7. 网络安全08-虚拟机运行架构(寄居架构+原生架构)、虚拟机产品简单介绍、windows操作系统--屏蔽系统自动更新
  8. OpenCV Stitching 工程搭建
  9. AI应用说 | 「虫口夺粮」的害虫识别还是牛场24小时无人监控,AI+农业话题咱们唠一唠...
  10. 大数据场景下Volcano高效调度能力实践
  11. 一个数如果刚好与它所有的真因子之和相等,则称该数为一个“完数
  12. PXE无人值守系统安装配置简要说明
  13. PHP面向对象学习五 类中接口的应用
  14. 高速PCB设计规范(二)
  15. 安全模块之FIPS 140-2标准和国密标准对比
  16. mysql查询男女平均年龄_mysql查询练习(三)
  17. Android常用控件-02
  18. iPhone 13 用塑料瓶做天线, 网友炸了!!
  19. 我的编程之路:从好玩到玩好
  20. kali上装软件gedit_linux下的gedit命令使用方法与技巧

热门文章

  1. 劲爆! 3月50本期刊被剔除,部分更名(附最新SSCIamp;SCI目录下载)
  2. uplink端口与普通接口区别_什么是PoE交换机?PoE交换机与PoE+交换机的区别!
  3. SV绿皮书笔记(一)
  4. Day One,配置ssh免密码登陆
  5. EssentialC++_chapter06 binary tree 的学习笔记记录及问题
  6. 会员卡系统接入微信卡券那些事儿
  7. jt808/jt1078
  8. 有什么适合小团队记录任务清单的协作APP工具?
  9. 封装一个通用的数据库操作类
  10. Geekband 开班会 2015/7/18