洛谷P873 砍树
洛谷P873 砍树
原题链接
#include "iostream" #include "algorithm" using namespace std; int n,maxx,tree[1000001]={0}; bool check(int x) { long long sum=0; for(int i=0;i<n;i++){ if(tree[i]>x)sum+=tree[i]-x; } return sum>=maxx; } int bsearch_2(int l, int r) { while (l < r) { int mid = l + r + 1 >> 1; if (check(mid)) l = mid; else r = mid - 1; } return l; } int main(){ cin>>n>>maxx; for(int i=0;i<n;i++)scanf("%d",tree+i); cout<<bsearch_2(*min_element(tree,tree+n), *max_element(tree,tree+n)); }
本文作者:ChengMao
本文链接:https://www.cnblogs.com/ChengMao/p/17052349.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步