当前位置: 首页 > article >正文

蓝桥杯——又是二分

题目

答案

#include <bits/stdc++.h>

using namespace std;

const int N = 50010;
int L,n,M;
int a[N];


bool check(int x)
{
	int i = 0,now = 0;
	int cnt = 0;//搬走石头的数目
	while(i<n+1)
	{
		i++;
		if(a[i]-a[now]>=x) now=i;
		else {
			cnt++;
			
		}
		 
	}
	if(cnt <= M) return true;
	else return false;
}

int main() {
	cin >> L >> n >> M;//N总长度N石头数量M主办方要搬的数量
	for(int i = 1;i <= n; i++)
	{
		cin >> a[i];
	}
	a[0]=0;
	a[n+1] = L;
	
	int l = 0,r=L+1;
	while(l+1<r)
	{
		int mid = (l+r)/2;
		if(check(mid)) l = mid;
		else r = mid;
	}
	if(check(r)) cout << r;
	else cout << l;
	
	return 0;
}

判断界限


http://www.kler.cn/a/582680.html

相关文章:

  • Flutter 小技巧之通过 MediaQuery 优化 App 性能
  • Spring Boot 项目零风险升级 Tomcat 指南:锁定版本也能修复漏洞
  • 【Leetcode 每日一题】2269. 找到一个数字的 K 美丽值
  • Python+jupyter进行数据分析与数据挖掘
  • Docker基础入门(一)
  • React 中如何实现表单的受控组件?
  • Linux_17进程控制
  • Flink 1.17.2 版本用 java 读取 starrocks
  • c#如何直接获取json中的某个值
  • Java中的加盐加密:提升密码存储安全性的关键实践
  • 深度解读 | AI驱动下的新型金融对冲策略:稀疏奖励强化学习的应用
  • 17153.班级活动(java)
  • Linux-基础开发工具
  • 机器学习之超参数优化(Hyperparameter Optimization)
  • 使用 ArkUI 开发鸿蒙登录界面
  • MyBatis-Plus 注解大全
  • Vue | Vue3中为什么要用 Proxy 代替 Object.defineProperty
  • el-table 通过 slot=“header“ 自定义表头,遇到数据不更新的问题。
  • 深入解析Java虚拟机(JVM):架构、内存管理与性能优化
  • 网关与默认网关