stone二分答案
来源:互联网 发布:电子手轮 单片机 编辑:程序博客网 时间:2024/06/05 00:39
#include<iostream>#include<fstream>#include<algorithm>#include<stdio.h>using namespace std;ifstream fin("stone.in");ofstream fout("stone.out");#define cin fin#define cout foutint Sstone[50005],Nstone[50005];int N,M,L,l,r;bool pass(int Min){int _use=0;for (int i=1;i<=N;i++) Nstone[i]=Sstone[i]; //将原来的一组距离复制一遍for (int i=1;i<=N;i++)if (Nstone[i]<Min) //如果距离小于二分的最小值,就移走一块石头。{if (_use>=M) return false;//如果经费不够,方案就不通过else{_use++;Nstone[i+1]+=Nstone[i]; //与后面的合并}}return true;}int main(){int now,last=0;cin >> L >> N >> M;r=L;for (int i=1;i<=N;i++){cin >> now;Sstone[i]=now-last;last=now;}N++;Sstone[N]=L-last;while (l<=r){if (pass((l+r)/2)) l=(l+r)/2+1; //二分,如果成立,放入左值,否则放入右值else r=(l+r)/2-1;}cout << l-1;}
2 0
- stone二分答案
- stone 质检员 (二分)
- 二分答案
- 二分答案
- 二分答案
- 二分答案
- ~二分答案~
- 二分答案
- 二分答案?!
- 二分答案
- 二分答案
- 【hiho38】二分•二分答案
- #1139 : 二分·二分答案
- 二分答案全攻略
- hunnu 10922 二分答案
- hdu 4190 二分答案
- hdu 4190 #二分答案
- HDU4004 二分答案
- 并查集 5-30 tree ------错误方法
- 7.27~7.28总结(不包括题目总结)
- 5-30 并查集 tree
- 2015 NOIP考后心得
- 6-6 并查集练习——friend
- stone二分答案
- 为什么Int类型的取值范围是2的31次方减1
- 6-6 并查集练习——ttime
- message
- tree 用点、边的算法
- 最大差值----美团2016研发工程师在线编程题
- Salesman 总结
- galaxy 原来的方法——超时(没有压缩路径)
- LCA