2020CCPC绵阳D.Defuse the Bombs(二分)
题目链接: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(二分)相关推荐
- 2020CCPC绵阳站 Defuse the Bombs(简单二分)
2020CCPC绵阳站 Defuse the Bombs(简单二分) 题目 https://pintia.cn/problem-sets/1322796904464203776/problems/13 ...
- 2020CCPC 绵阳 7-4 Defuse the Bombs(二分)
题意: 每个炸弹有个倒计时,每一轮你指定一个炸弹时间加一,然后每一个炸弹时间减一,如果有炸弹时间变成负数,那么就会爆炸. 求有炸弹爆炸的最长时间. 思路: 二分会进行midmidmid轮,那么每个炸弹 ...
- 2020CCPC绵阳站 D-Defuse the Bombs (二分答案)
题意:给定一个序列长度为n的序列a. 1.选择一个ai使得它的值加一 2.所有的ai都减一 3.如果此时有ai的值小于0,那么结束,否则的话返回第一步. 问你最多能执行多少次1步骤? 思路:由于最后3 ...
- C.Defuse the Bombs(简单二分)
C.Defuse the Bombs WA了九次,让我来看看简单二分有多简单 The terrorists have planted some bombs in a building! Our her ...
- 2020CCPC绵阳
2020CCPC绵阳 题号 题目名 难度 知识点 A A Colorful Grid B Building Blocks C Code a Trie D Defuse the Bombs 签到 二分 ...
- Defuse the Bombs Gym - 102822D
Defuse the Bombs Gym - 102822D 题目: 给你n个数,现在每轮会有三个操作: 1.选择一个数,使他加一 2.所有数减一 3.当有一个数变成负数时结束操作,否则回到第一步 问 ...
- 2020CCPC绵阳站后记
这是与hl还有gbs学长的第二次正式赛,也是第一次CCPC. 最后的成绩是第29名,银第五. 这次比赛的赛前准备一如既往得完备,没有出什么问题,正式比赛前半个小时左右我们登录了比赛系统等待比赛. 比赛 ...
- 2020CCPC绵阳K.Knowledge is Power(互质数分解)+两数互质规律总结
题目链接:http://codeforces.com/gym/102822/problem/K 题意:将一个数字n分解成多个互质的数相加,求这些互质的数中最大值和最小值之间的差值,要求这个差值最小 两 ...
- L. Lottery 2020ccpc绵阳现场赛
wa到最后半小时才过... 对幂次排序 对于每一段可以连续进位进到的地方,从每一位乘以2的幂次转移到最低位,那么这一段能够得到的方案总数就是各位的数量在最低位上的总和 比如2^0有4个,2^1有1个, ...
最新文章
- DNS服务,A记录,URL转发,MX记录,NS记录,CNAME记录,解释与设置教
- ios4--UIView的常见属性(尺寸和位置)
- SAP ABAP 客户退出
- 4月02日 提取汉字首字母,并大写的类
- html 怎么设置cooki,怎么设置浏览器接受cookie
- mysql windows身份验证_SQL Server 2005 怎么就不能用Windows身份验证方式登录呢?
- [css] 请问display:inline-block在什么时候会显示间隙?
- 大话细说ORM -----(转)
- [zz]4.1.5 进程的处理器亲和性和vCPU的绑定
- python增删改查mysql_python对数据库mysql的操作(增删改查)
- 阿里云数据库四位小伙伴聚齐!共同开启生态合作新篇章!
- 创建数组_如何创建数组
- Python __getattr__和__setattr__方法介绍
- [ios] NSSet,NSMutableSet[zhuan]
- 网站小尾巴 流量统计 网站流量统计 解决方案
- 腾讯惹谁了?为什么用QQ邮箱投简历不受人待见
- 笔记:Java 性能优化权威指南 第5章 Java 应用性能分析
- 数字版权管理 (DRM) 续
- stata 自相关专题【计量经济系列(五)】
- 丽台显卡测试软件,丽台Quadro FX4600专业显卡试用评测