题意:
每个炸弹有个倒计时,每一轮你指定一个炸弹时间加一,然后每一个炸弹时间减一,如果有炸弹时间变成负数,那么就会爆炸。
求有炸弹爆炸的最长时间。

思路:
二分会进行midmidmid轮,那么每个炸弹的时间至少为mid−1mid-1mid−1,一共会执行mid−1mid-1mid−1次有效加时间操作(最后一次操作加时间没有意义),所以要满足∑(mid−1−a[i])<mid∑(mid-1-a[i])<mid∑(mid−1−a[i])<mid

至于为什么只要满足这个二分条件,就可以保证中间不会减出-1,可以参考群友的证明ORZ。

图中式子第一项的意思是,先只将前j−1j-1j−1个数都加到kkk,也不会使得a[j]a[j]a[j]变成负数。同理先只将前j−2j-2j−2个数都加到kkk,也不会使得a[j−1]a[j-1]a[j−1]变成负数。所以直接顺序将每个数加到kkk,可以保证中间过程不会有数变成-1。

#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;typedef long long ll;
const int maxn = 1e5 + 7;
int a[maxn];
int n;bool check(ll mid) {ll num = 0;for(int i = 1;i <= n;i++) {num += max(0ll,mid - 1 - a[i]);}return num < mid;
}int main() {int T;scanf("%d",&T);int kase = 0;while(T--) {scanf("%d",&n);for(int i = 1;i <= n;i++) {scanf("%d",&a[i]);}ll l = 0,r = 1e10;ll ans = 0;while(l <= r) {ll mid = (l + r) >> 1;if(check(mid)) {ans = mid;l = mid + 1;} else {r = mid - 1;}}printf("Case #%d: %lld\n",++kase,ans);}return 0;
}

2020CCPC 绵阳 7-4 Defuse the Bombs(二分)相关推荐

  1. 2020CCPC绵阳D.Defuse the Bombs(二分)

    题目链接:http://codeforces.com/gym/102822 题意:n个炸弹,每次只能让一个炸弹的时间不变,其余炸弹爆炸时间均减少1,但有一个炸弹爆炸时间小于0时,那么就会爆炸.问最长可 ...

  2. 2020CCPC绵阳站 Defuse the Bombs(简单二分)

    2020CCPC绵阳站 Defuse the Bombs(简单二分) 题目 https://pintia.cn/problem-sets/1322796904464203776/problems/13 ...

  3. C.Defuse the Bombs(简单二分)

    C.Defuse the Bombs WA了九次,让我来看看简单二分有多简单 The terrorists have planted some bombs in a building! Our her ...

  4. 2020CCPC绵阳

    2020CCPC绵阳 题号 题目名 难度 知识点 A A Colorful Grid B Building Blocks C Code a Trie D Defuse the Bombs 签到 二分 ...

  5. Defuse the Bombs Gym - 102822D

    Defuse the Bombs Gym - 102822D 题目: 给你n个数,现在每轮会有三个操作: 1.选择一个数,使他加一 2.所有数减一 3.当有一个数变成负数时结束操作,否则回到第一步 问 ...

  6. 2020CCPC绵阳站 D-Defuse the Bombs (二分答案)

    题意:给定一个序列长度为n的序列a. 1.选择一个ai使得它的值加一 2.所有的ai都减一 3.如果此时有ai的值小于0,那么结束,否则的话返回第一步. 问你最多能执行多少次1步骤? 思路:由于最后3 ...

  7. 2020CCPC绵阳站后记

    这是与hl还有gbs学长的第二次正式赛,也是第一次CCPC. 最后的成绩是第29名,银第五. 这次比赛的赛前准备一如既往得完备,没有出什么问题,正式比赛前半个小时左右我们登录了比赛系统等待比赛. 比赛 ...

  8. 2020CCPC绵阳K.Knowledge is Power(互质数分解)+两数互质规律总结

    题目链接:http://codeforces.com/gym/102822/problem/K 题意:将一个数字n分解成多个互质的数相加,求这些互质的数中最大值和最小值之间的差值,要求这个差值最小 两 ...

  9. L. Lottery 2020ccpc绵阳现场赛

    wa到最后半小时才过... 对幂次排序 对于每一段可以连续进位进到的地方,从每一位乘以2的幂次转移到最低位,那么这一段能够得到的方案总数就是各位的数量在最低位上的总和 比如2^0有4个,2^1有1个, ...

最新文章

  1. Linux 使用 yum 查看安装的软件包
  2. 手机连接蓝牙扫码枪_原来手机蓝牙的隐藏功能这么多,你不会还只用来连接耳机吧?...
  3. Proxy模式简介和用例
  4. 35 岁程序员的独家面试经历
  5. onenetsim定位功能吗_经常玩手机的抓紧看看,原来手机键盘还隐藏4个实用功能,真实用...
  6. Nginx反向代理其他使用方式
  7. 18. 二叉树的镜像
  8. 面试被问:Selenium元素定位不到问题,如何回答?
  9. IJCAI2021论文:MEDA:一种为小样本文本分类设计的结合数据增强的元学习框架
  10. 中国联通5G-NR 900MHz基站设备技术白皮书(2022)
  11. 音创linux版e100加歌,【图片】音创高清点歌机E100-3D版 火爆上市 现将资料爆出_点歌机吧_百度贴吧...
  12. [黑客入门全程图解].吴自容,武新华.等编著.文字版,精确还原
  13. 飞猪 Serverless 体系从无到有,落地10余个业务场景
  14. 路由器桥接LAN接LAN口(改DHCP以及详细避坑教程)
  15. 吉林大学高级程序设计(红皮书例题)(1~7章)
  16. 图像增强(空间域)——灰度变换
  17. html怎么做出相框的效果,使用CSS3制作PS级的图片边框效果
  18. TOP100summit分享实录 | 如何构建一套全链路的故障追踪和故障自愈系统?
  19. wireshark编译基于openflow1.3协议开发
  20. 基于XAMPP的Testlink安装和配置

热门文章

  1. 模块“Upgrade”启动失败。 未能启动虚拟机。虚拟机VMware不支持的硬件版本【终极解决方案】
  2. C语言关于qsort函数的用法详细说明
  3. 浅谈分布式集群管理系统
  4. 仿淘宝客户端电商平台android初级速成-张勇-专题视频课程
  5. 网络舆情监测与分析研判工作如何高效做好的解决方案
  6. 数学建模(1)-matlab之fprintf函数用法
  7. 网站分享:7个非常好用的电子书网站
  8. 微信小程序存储、获取封装
  9. 手机计算机应用会横屏,北京市大学生计算机应用大赛——3g智能手机创意设计作品提交书模板(游戏类).pdf...
  10. 解决蓝牙耳机自动暂停播放音乐的问题