【二分】【边界判定】

news/2024/10/5 14:52:05

https://ac.nowcoder.com/acm/contest/22353/G
注意点:check中,不仅要判断用的joker数是否大于joker牌的数量,还要判断组成套数是否小于用的joker数量,

原文链接:https://blog.csdn.net/a_forever_dream/article/details/106548941

#include<bits/stdc++.h>typedef long long ll;
using namespace std;bool check(ll goal, ll* a, int n, int m) {ll joker_count = 0;for(int i = 0; i < n; i++) {if(a[i] < goal) {joker_count += goal - a[i];}}return joker_count <= m && joker_count <= goal; // 只需要判断 joker 数量是否超过了 m
}int main() {int n, m;cin >> n >> m;ll a[50];ll total_cards = 0;  // 记录所有牌的总数// 读取每种牌的数量并计算总牌数for(int i = 0; i < n; i++) {cin >> a[i];total_cards += a[i];}ll low = 1; // low 最小从 1 开始ll high = total_cards + m; // high 设置为总牌数加上 Joker 数量ll ans = 0;while(low <= high) {ll mid = (low + high) / 2; // 中间值if(check(mid, a, n, m)) {ans = mid;  // 更新答案为 mid,因为 mid 满足条件low = mid + 1; // 继续尝试更大的值} else {high = mid - 1; // 尝试更小的值}}cout << ans << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/67995.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

WMS、WCS、WES:它们是什么以及有何不同

WMS、WCS和WES是仓库管理系统中的三个重要组成部分。 WMS关注库存流和存储,优化劳动力管理和资源利用; WCS负责执行WMS创建的计划和活动序列,提供设备和系统的实时监控; WES则充当WMS和WCS之间的桥梁,提高运营效率、灵活性和可扩展性。 这三个系统相互协作,共同提升仓库绩…

统计术语

基期、现期 作为对比参照的时期称为基期,而相对于基期的称为现期。 例,今年比去年公司营收增加100万。 去年:基期 今年:现期增长量 增长量是指基期量与现期量增长(或减少)的绝对量。 表述特征: ……比……增长(下降)某个具体值。 增长量=现期量-基期量;增长率 是指增长量与…

MAC 安装 Homebrew (使用国内镜像源)

Homebrew 官方地址 https://brew.sh/zh-cn/ 官方地址使用github的源,国内访问速度很慢,所以我们需要使用国内的源。 自动安装 Homebrew 首先可以尝试自动安装方法,直接一行命令就行: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homeb…

GraphQL、sequelize-typescript 、Apollo Server 4 实例

新建项目文件夹$ mkdir demo $ cd demo初始化TypeScript配置$ npx tsc --init安装 Sequelize Sequelize-cli$ npm install --save-dev @types/node @types/validator $ npm install sequelize reflect-metadata sequelize-typescript $ npm install --save-dev ts-node @types/…

@ImportResource用法

用法 @ImportResource 注解用于导入 Spring的配置文件,让某个配置文件中的bean生效; SpringBoot里没有 Spring的配置文件,自己可以手动编写配置文件,但Spring Boot不能自动识别,此时需要在配置类中引入编写的配置文件 注意:这个配置文件生效需要放在 配置类上!! 举个例…

ROS基础入门——实操教程3C

合集 - Ubuntu强化学习合集(3)1.命令行gcc -v和g++ -v输出版本不一致09-272.crypt.h:No such file or directory 报错处理09-283.ROS基础入门——实操教程10-04收起 ROS基础入门——实操教程前言 本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过…