G - Ginger的NB数(二分)

2023-11-20

G - Ginger的NB数 | SDUT OnlineJudge

 

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m;
int a[N];
bool check(int mid)
{
    int cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i]>cnt)
        {
            if(mid>0)
            {
                mid--;
                cnt++;
            }
        }
        else
            cnt++;
    }
    return cnt>=m;
}
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    int l=0,r=n;
    while(l<r)
    {
        int mid=l+r>>1;
        if(check(mid))
        {
            r=mid;
        }
        else
            l=mid+1;
    }
    printf("%d\n",l);
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

G - Ginger的NB数(二分) 的相关文章

随机推荐

  • linux定时执行shell脚本

    一 cron调度进程 c r o n是系统主要的调度进程 可以在无需人工干预的情况下运行作业 有一个叫做 c r o n t a b的命令允许用户提交 编辑或删除相应的作业 每一个用户都可以有一个c r o n t a b文件 来保存调度信
  • 量化投资学习-36:选股的基本方式

    1 选择的总原则 1 强者恒强 热点龙头 2 超跌反弹 星空雷达 2 策略总原则 1 主策略 1 2 辅策略 N 3 候选指标 趋势 支撑线 压力线 短期趋势通道 长期趋势通道 布林线 震荡 MACD底特征 KDJ震荡超卖 9转序列低9 能
  • 4大主流CPU处理器技术架构

    推荐阅读 浅谈linux 内核网络 sk buff 之克隆与复制 深入linux内核架构 进程 线程 了解Docker 依赖的linux内核技术 导读 RISC 精简指令集计算机 是一种执行较少类型计算机指令的微处理器 起源于80年代的MI
  • 【C++】STL中list容器内部元素的移动和交换

    文章目录 前言 一 list是什么 二 元素移动 1 插入 删除 2 切除 拼接 三 元素交换 1 元素值交换 2 元素 节点 交换 总结 前言 提示 list insert list erase list splice std iter
  • 【ESP32】反复重启

    ESP32开发 反复重启 串口输出如下所示 rst 0xc SW CPU RESET boot 0x13 SPI FAST FLASH BOOT configsip 188777542 SPIWP 0xee clk drv 0x00 q d
  • 使用 AJAX,局部刷新 GridView 进行数据绑定的简单实现

    很多用户都有这样需求 比如 点击按钮 刷新 GridView 中的数据 而不是这个页面刷新 使用简单的 XMLHttpRequest 就可以直接实现 具体代码如下 ASPX 代码 lt
  • C语言实现随机发纸牌

    C语言实现随机发纸牌 为避免重复发牌 设二维数组sign 4 13 记载是否发过纸牌 其中行下表表示花色 列下标表示点数 设字符串指针数组card n 存储随机发的n张纸牌 例如card 0 梅花2 按照以下方法以此发出每一张牌 首先产生一
  • Python异常捕获

    在 Python 中 try 和 except 语句用于捕获和处理异常 except 子句可以用来捕获不同类型的异常 Exception 这是 Python 中所有异常的基类 可以捕获几乎所有异常类型 ValueError 当函数收到不适当
  • 使用css 动画实现,水波纹的效果

    每日鸡汤 每个你想要学习的瞬间都是未来的你向自己求救 需求 实现水波纹动画效果 要求中心一个圆点 然后有3个圈 一圈一圈的向里面缩小 说实话我第一个想到了给3个圈设置不同的宽高 然后设置动画0 100 一次缩小宽高 但是 我转念一想 我是不
  • Intellisense and NAnt .build files in VS.NET

    Intellisense and NAnt build files in VS NET This has been blogged about before here and there but I wanted to share it a
  • 最大k乘积问题--动态规划

    问题 问题描述 设x是一个n位十进制整数 如果将x划分为k段 则可得到k个整数 这k个整数的乘积称为x的一个k乘积 试设计一个算法 对于给定的x和k 求出x的最大k乘积 编程任务 对于给定的x和k 编程计算x的最大k 乘积 示例 Sampl
  • 深入理解数据库事务(超详细)

    一 事务的介绍 事务是一组操作的集合 事务会把所有操作作为一个整体一起向系统提交或撤销操作请求 即这些操作要么同时成功 要么同时失败 二 事务的基本操作 2 1 事务操作方式一 例子 转账场景 张三向李四转账 1 查询张三账户余额 sele
  • mac下搭建cocos2d-x3.2开发环境

    1 软件 Xcode Ant apache ant 1 9 4 bin tar gz Jdk jdk 8u45 macosx x64 dmg 有的mac系统上没有自带 Ndk android ndk r10d darwin x86 64 b
  • 如何成为一名优秀的开发人员?

    如何成为一名优秀的开发人员 1 你不需要知道一切 没有人知道所有的细节 2 存在错误对于学习至关重要 3 谷歌搜索是一项合法的技能 4 尝试思考而不是编码 5 慎重对待教程 1 你不需要知道一切 没有人知道所有的细节 作为一名开发人员 你可
  • C++STL总结笔记(二)——仿函数(函数对象)

    文章目录 一 概念 总结 一 概念 仿函数又称函数对象 即重载了函数调用运算符 的类的对象 优势 1 仿函数对象的内部可以有自己的状态 可以实现一些其他的功能 2 函数对象可以作为参数进行传递 当仿函数类内重载的返回值是bool类型被称为谓
  • Python爬虫网易云音乐--JS逆向-补充笔记

    课程地址 https www bilibili com video BV1Mi4y147Yb up主省略掉的 用报错信息来一一回溯的方式把js文件补全的过程 主要把握的几个点 把以下部分代码找到粘贴到js中即可补全并顺利运行 CryptoJ
  • 《数据库系统概论》重点整理

    Word文档链接 https wenku baidu com view 063d7656f9c75fbfc77da26925c52cc58bd69088 第一章 数据模型的三个要素 数据结构 数据操作 完整性约束 数据库领域常用的逻辑模型
  • minikube start启动集群失败Unable to find image gcr.io/k8s-minikube/kicbase:v0.0.10

    配套视频教程 minikube带你玩转k8s集群 1 minikube启动集群 minikube start vm driver docker image mirror country cn image repository registr
  • Intel CPU5种不同的CPU频率标定方式

    作者 cici xiang 链接 https www zhihu com question 271509706 answer 364246338 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 Intel C
  • G - Ginger的NB数(二分)

    G Ginger的NB数 SDUT OnlineJudge include