32| 伐木

代码实现

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

#define int long long
const int N = 1e6 + 10;
int n, m,z;
int a[N];

int check(int mid)
{
	int cnt = 0;
	for (int i = 1; i <= n; i++) 
	{
		int x = a[i] - mid;
		if (x > 0) cnt += x;
	}
	return cnt;
}
signed main()
{
	cin >> n >> m;
	for (int i = 1; i <= n; i++) 
	{
		int x; cin >> x;
		a[i] = x;
		z = max(z, x);
	}
	int l = 1, r = z, mid;
	while(l < r)
	{
		mid = (l + r + 1) >> 1;
		if(check(mid) >= m) l = mid;
		else r = mid - 1;
	}
	cout << l << endl;
	return 0;
 } 
相关推荐
一锅炖出任易仙2 分钟前
创梦汤锅学习日记day29
学习·ai·ue5·游戏引擎
MartinYeung511 分钟前
[论文学习]无资料选择性遗忘:透过模型反演实现 LLM 的资料免隐私保护(DFSU)
学习
海梨花13 分钟前
字节面试高频算法题
java·算法·面试·职场和发展
aqiu11111119 分钟前
python02
算法
瓦特what?20 分钟前
位运算核心技巧与应用
java·jvm·算法
无限码力20 分钟前
阿里算法岗 0530笔试真题 - 荆棘林的最优砍断计划
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试真题·阿里巴巴笔试真题
阿寻寻20 分钟前
【人工智能学习-20260608】什么是生成式AI?
人工智能·学习
随意起个昵称23 分钟前
线性dp-LIS题目5(导弹拦截,二分优化)
c++·算法·动态规划
winlife_23 分钟前
全程用 AI 做一款商业级手游 · EP10 道具系统:让三个按钮真正改变棋盘
windows·算法·unity·ai编程·游戏开发·mcp·玩法系统
IT策士24 分钟前
Redis 从入门到精通:数据结构Set 与 Sorted
数据结构·数据库·redis