二分答案,lowerbound
2017-03-05 12:47
183 查看
#include<iostream> #include<algorithm> #include<cstdio> using namespace std; const int maxn = (int) 1e5 + 7; int A[maxn]; int binT[maxn]; int m; bool check(int x,int n) { int cnt = 0; for (int i = 0; i<n - 1; i++) { cnt += upper_bound(A + i + 1, A + n, x + A[i]) - (A + i + 1); } if (cnt >= m) return true; else return false; } int main() { int n; while (cin >> n) { for (int i = 0; i<n; i++) { scanf("%d", &A[i]); } sort(A, A + n); int d = (n*(n - 1) / 2); if ((d % 2)==0) { m = (d / 2); } else { m = (d + 1) / 2; } int left = 0, right = A[n - 1] - A[0] + 1; while (right>left) { int mid = (left + right) >> 1; if (check(mid,n)) right = mid; else left = mid + 1; } cout << left << endl; } return 0; }
相关文章推荐
- 答案二分,lowerbound,upperbound
- poj2455 Secret Milking Machine(二分答案+最大流)
- 【二分答案+贪心】UVa 1335 - Beijing Guards
- bzoj4551 [Tjoi2016&Heoi2016]树 树链剖分+树状数组+二分答案
- 深入理解二分查找(二、二分答案)
- POJ 3122 Pie【二分答案】
- 【HDU3681】Prison Break-状态压缩DP+BFS+二分答案
- 51NOD1799 二分答案 【组合+分块打表】
- 【二分答案+智障的字符串hash】BZOJ2946-[Poi2000]公共串(Ranklist倒一达成!!!!!)【含hash知识点】
- binary string codeforces 862D 交互题,二分答案
- CF #262 (DIV2) C . Present (二分答案)
- Vijos1450[包裹快递] 二分答案
- [BZOJ1305][CQOI2009]跳舞(二分答案+最大流)
- POJ 3525 二分答案,推进多边形和半平面交
- bzoj1690 [Usaco2007 Dec]奶牛的旅行(最优比率环,二分答案+spfa判负环)
- 再解“书的复制” 二分答案+贪心
- POJ 3208 Apocalypse Someday 二分答案+数位DP
- <队内胡策> 2017.10.10 (贪心+二分答案+DP)
- POJ1275 Cashier Employment (差分约束系统 + 二分答案)
- Expanding Rods--二分答案