zoukankan      html  css  js  c++  java
  • 一本通 1433:【例题1】愤怒的牛

    愤怒的牛

    二分答案模板题

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    //Mystery_Sky
    //二分查找(模板) 
    #define M 1000010
    #define ll long long
    #define Mid (l+r+1)/2
    int l, r, mid;
    int n, c;
    int a[M];
    inline bool check(int m) 
    {
    	int sum = a[1] + m;
    	int cnt = 1;
    	for(int i = 2; i <= n; i++) {
    		if(a[i] >= sum) cnt++, sum = a[i] + m;
    	}
    	return cnt >= c;
    }
    int main() {
    	scanf("%d%d", &n, &c);
    	for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
    	r = 10000000, l = 0;
    	sort(a+1, a+n+1);
    	while(l < r) {//二分答案
    		mid = Mid;
    		if(check(mid)) l = mid;
    		else r = mid - 1;
    	}
    	printf("%d
    ", l);
    	return 0;
    }
    
    唯愿,青春不辜负梦想,未来星辰闪耀
  • 相关阅读:
    bootstrap常用快捷查找
    jquery
    javascript
    移动端心得总结
    css。过渡动画
    css。。段落样式
    css。元素样式、边框样式
    css3
    css
    Hbuilder 的快捷方式
  • 原文地址:https://www.cnblogs.com/Benjamin-cpp/p/10877648.html
Copyright © 2011-2022 走看看