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;
 } 
相关推荐
liliangcsdn34 分钟前
派息率指标的应用探索和分析
大数据·算法
小雪崩1 小时前
嵌入式学习 day64:字符设备驱动
学习
垆边人似月.1 小时前
华为机试题 :两数之和
c++·算法·华为
默默开发1 小时前
物流行业可用算法方向
算法
深圳老胡1 小时前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
个 人 练 习 生1 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
垆边人似月.1 小时前
华为机试题 :有效的括号
c++·算法·华为
坤坤子吖1 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习
乐橙开放平台2 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
零基础1232 小时前
FinalShell 使用教程:从安装到高效运维
运维·经验分享·笔记·finalshell