题目链接:http://codeforces.com/gym/102822
题意:n个炸弹,每次只能让一个炸弹的时间不变,其余炸弹爆炸时间均减少1,但有一个炸弹爆炸时间小于0时,那么就会爆炸。问最长可以拖延多少时间
解题思路:使用二分,将一个时间认为是可以最大的爆炸时间,然后算出比该爆炸时间小的炸弹求和得到sum,如果sum<=当前爆炸时间,那么说明当前爆炸时间是满足的,可以继续像右二分。反之,向左二分查找
PS:注意对ans、res、l、mid、r开long long
时间复杂度:NlogC
实现代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
using namespace std;
#define ll long long
const int maxn = 1e5 + 10;
int n;
int t;
int a[maxn];
int main() {cin >> t;int cas = 0;while (t--) {cin >> n;for (int i = 1; i <= n; i++) {scanf("%d", &a[i]);}ll l, r, mid;ll ans=1;l = 0, r = 2e9;while (l<=r) {ll res = 0;mid = (l + r) / 2;for (int i = 1; i <= n; i++) {if (a[i] <= mid) {res += mid - a[i];}}if (res <= mid) {ans = mid + 1;l = mid + 1;}else {r = mid - 1;}}cout << "Case #" << ++cas << ": " << ans << endl;}return 0;
}

2020CCPC绵阳D.Defuse the Bombs(二分)相关推荐

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

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

  2. 2020CCPC 绵阳 7-4 Defuse the Bombs(二分)

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

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

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

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

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

  5. 2020CCPC绵阳

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

  6. Defuse the Bombs Gym - 102822D

    Defuse the Bombs Gym - 102822D 题目: 给你n个数,现在每轮会有三个操作: 1.选择一个数,使他加一 2.所有数减一 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. DNS服务,A记录,URL转发,MX记录,NS记录,CNAME记录,解释与设置教
  2. ios4--UIView的常见属性(尺寸和位置)
  3. SAP ABAP 客户退出
  4. 4月02日 提取汉字首字母,并大写的类
  5. html 怎么设置cooki,怎么设置浏览器接受cookie
  6. mysql windows身份验证_SQL Server 2005 怎么就不能用Windows身份验证方式登录呢?
  7. [css] 请问display:inline-block在什么时候会显示间隙?
  8. 大话细说ORM -----(转)
  9. [zz]4.1.5 进程的处理器亲和性和vCPU的绑定
  10. python增删改查mysql_python对数据库mysql的操作(增删改查)
  11. 阿里云数据库四位小伙伴聚齐!共同开启生态合作新篇章!
  12. 创建数组_如何创建数组
  13. Python __getattr__和__setattr__方法介绍
  14. [ios] NSSet,NSMutableSet[zhuan]
  15. 网站小尾巴 流量统计 网站流量统计 解决方案
  16. 腾讯惹谁了?为什么用QQ邮箱投简历不受人待见
  17. 笔记:Java 性能优化权威指南 第5章 Java 应用性能分析
  18. 数字版权管理 (DRM) 续
  19. stata 自相关专题【计量经济系列(五)】
  20. 丽台显卡测试软件,丽台Quadro FX4600专业显卡试用评测

热门文章

  1. MCU-LCD屏与RGB-LCD屏的区别?
  2. [DataAnalysis]数据分析和大数据入门推荐书单
  3. Mybatis之xml方式(一)
  4. java 打印出如下图案(菱形)
  5. 读书笔记:卓有成效的管理者
  6. c语言中,关于延迟函数的理解
  7. JS提示缺少对象的一种解决办法
  8. Linux查看主机信息及修改主机名hostname
  9. 用VScode绘制函数调用流程图
  10. java jtextarea 事件_JTextArea事件处理