[luoguP1316] 丢瓶盖(二分答案)
2017-06-18 09:30
316 查看
二分答案再判断即可
——代码
#include <cstdio> #include <iostream> #include <algorithm> #define max(x, y) ((x) > (y) ? (x) : (y)) #define N 1000001 int n, m, ans, maxn; int a ; inline int read() { int x = 0, f = 1; char ch = getchar(); for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1; for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0'; return x * f; } inline bool check(int x) { int i, now = 1, sum = 1; for(i = 1; i <= n; i++) if(a[i] - a[now] >= x) { sum++; now = i; } return sum >= m; } int main() { int i, j, x, y, mid; n = read(); m = read(); for(i = 1; i <= n; i++) a[i] = read(), maxn = max(a[i], maxn); std::sort(a + 1, a + n + 1); x = 1, y = maxn; while(x <= y) { mid = (x + y) >> 1; if(check(mid)) ans = mid, x = mid + 1; else y = mid - 1; } printf("%d\n", ans); return 0; }View Code
相关文章推荐
- LuoguP1314[NOIP2011] 聪明的质监员 解题报告【二分答案+前缀和】
- (两道二分标致题)(洛谷 1182 1316)数列分段Section II 丢瓶盖
- LuoguP1314 聪明的质检员 【二分答案/前缀和】
- LuoguP2680/UOJ150[NOIP2015] 运输计划 解题报告【二分答案+树上操作(LCA)+树上差分】
- LuoguP2115 [USACO14MAR]破坏Sabotage【二分答案】By cellur925
- LuoguP1948 电话线 【二分答案/图论】
- 洛谷OJ - P1316 - 丢瓶盖(二分答案)
- LuoguP1083 借教室[NOIP2012] 解题报告【二分答案+差分】
- 疯牛 nyist586(二分答案)
- BZOJ 1189 HNOI2007 紧急疏散evacuate 二分答案+最大流
- 二分答案+队列的运用
- BZOJ1863 [Zjoi2006]trouble 皇帝的烦恼 二分答案+DP
- 最小生成树 || ( BFS && 二分答案) —— 营救
- hdu 4033 Regular Polygon (几何题 二分答案)
- { 二分答案 }soj2015
- POJ 3261 Milk Patterns 后缀数组 二分答案
- CSU 1913: 送礼物 (二分答案 + 线段树)
- Codeforces 615E Hexagons (Round #338 (Div. 2) E题) 二分答案+找规律
- POJ 3525 Most Distant Point from the Sea (二分答案+半平面交)
- bzoj 2095: [Poi2010]Bridges 二分答案+网络流