UPC山头狙击战--二分

2023-11-02

题目描述

Lucky为了掩护大部队,单枪匹马同敌人周旋,后来被敌人包围在某山头……等等,为什么怎么听怎么像狼牙山五壮士!不过不用着急,这次Lucky携带了足够的弹药,完全可以将涌上来的敌人一个一个干掉。Lucky是个神枪手,只要他的枪膛中有子弹,他就能将在他射程m(用从敌人位置到山头的直线距离算)以内的一个敌人瞬间射杀。但如果在射程内没有敌人,出于节约子弹考虑和面子问题,Lucky会等待敌人靠近然后射击。
正当Lucky为自己的强大而自我膨胀时,他忽然发现了一个致命的失误:他携带的枪是单发枪,每射出一发子弹都必须花k秒钟的时间装子弹。而凶残的敌人才不会花时间等你换子弹呢。他们始终在以1m/s的速度接近山头。而如果在一个敌人到达山头时Lucky无法将他击毙,那么我们可怜的Lucky就将牺牲在敌人的刺刀下。现在Lucky用心灵感应向你发出求助:要保住自己的性命并且歼灭所有敌人,Lucky最多只能用多少时间给枪装上一发子弹?
说明:假设一开始Lucky的枪中就有一发子弹,并且一旦确定一个装弹时间,Lucky始终会用这个时间完成子弹的装卸。希望你能帮助Lucky脱离险境。

输入

每组输入数据,第一行有两个整数n和m,(2≤n≤100,000; 1≤m≤10,000,000)n代表敌人个数,m代表Lucky的射程。
接下来有n行,每行一个整数mi,(1≤mi≤10,000,000),代表每个敌人一开始相对山头的距离(单位为米)。

输出

每组输出数据仅有一个整数,代表Lucky的换弹时间(单位为秒)。

样例输入

6 100
236
120
120
120
120
120

样例输出

25

二分,然后判断二分的结果对不对(judge函数来解决)

#pragma GCC optimize (2)
#pragma G++ optimize (2)
#include <bits/stdc++.h>
#include <algorithm>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;
#define wuyt main
typedef long long ll;
#define HEAP(...) priority_queue<__VA_ARGS__ >
#define heap(...) priority_queue<__VA_ARGS__,vector<__VA_ARGS__ >,greater<__VA_ARGS__ > >
template<class T> inline T min(T &x,const T &y){return x>y?y:x;}
template<class T> inline T max(T &x,const T &y){return x<y?y:x;}
//#define getchar()(p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? EOF : *p1++)
//char buf[(1 << 21) + 1], *p1 = buf, *p2 = buf;
ll read(){ll c = getchar(),Nig = 1,x = 0;while(!isdigit(c) && c!='-')c = getchar();
if(c == '-')Nig = -1,c = getchar();
while(isdigit(c))x = ((x<<1) + (x<<3)) + (c^'0'),c = getchar();
return Nig*x;}
#define read read()
const ll inf = 1e15;
const int maxn = 2e5 + 7;
const int mod = 1e9 + 7;
#define start int wuyt()
#define end return 0
int n,m;
int a[maxn];
bool judge(int num)
{
    int ti=0,flag=1;
    for(int i=1;i<=n;i++)
    {
        if(ti>a[i])
        {
            flag=0;
            break;
        }
        if(ti<a[i]-m)
            ti=a[i]-m;
        ti+=num;
    }
    return flag;
}
start{
    /**for(int i=0;i<=107;i++)
        memset(cnt[i].name,0,sizeof(cnt[i].name));
    for(int i=1;i<=n;i++)
    {
        scanf("%s",&cnt[i].name);
        cin>>cnt[i].cost;
        printf("%f %s\n",cnt[i].cost,cnt[i].name);
    }
    char adname[maxn],who[maxn];
    float ans=0;
    memset(adname,0,sizeof(adname));
    memset(who,0,sizeof(who));
    for(int i=1;i<=m;i++)
    {
        cin>>adname>>who;
        ///cout<<adname<<" "<<who<<endl;
        for(int j=1;j<=n;j++){
            if(strcmp(adname,cnt[j].name)>=0)
            {
                printf("%s\n",cnt[j].name);
                printf("%d\n",strcmp(adname,cnt[j].name));
                ans+=cnt[j].cost;
                break;
            }
        }
        memset(adname,0,sizeof(adname));
        memset(who,0,sizeof(who));
    }**/
    n=read,m=read;
    for(int i=1;i<=n;i++)
        a[i]=read;
    sort(a+1,a+n+1);
    int left=1,right=0x3f3f3f3f/2;
    while(left<right)
    {
        int mid=(left+right)>>1;
        if(judge(mid))
            left=mid+1;
        else
            right=mid;
    }
    printf("%d",left-1);
    end;
}
/**************************************************************
    Language: C++
    Result: 正确
    Time:30 ms
    Memory:2808 kb
****************************************************************/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UPC山头狙击战--二分 的相关文章

  • Oracle 11G Client 客户端安装步骤(图文详解)

    oracle 2010 http www cnblogs com jiguixin archive 2011 09 09 2172672 html 下载地址 http download oracle com otn nt oracle11g
  • 文件操作 和 IO

    目录 编辑一 认识文件 1 文件路径 2 其它知识 二 Java 中操作文件 三 文件内容的读写 1 Reader 2 InputStream 3 输出 一 认识文件 文件是在硬盘上存储数据的一种方式 操作系统帮我们把硬盘的一些细节都封装起
  • docker运行nginx为什么要使用 nginx -g ‘daemon off;‘

    1 docker容器跑着为啥会挂掉 docker 容器默认会把容器内部第一个进程 也就是pid 1的程序作为docker容器是否正在运行的依据 如果docker 容器pid挂了 那么docker容器便会直接退出 2 docker run的时
  • AngularJS全局API

    AngularJS全局API AngularJS全局API是一组全局JavaScript函数 用来进行一些常用的操作 例如 比较两个对象 迭代对象 进行数据格式转换 全局API函数可以通过angular对象来直接调用 下表列除了一些比较常用
  • Atitit. 有限状态机 fsm 状态模式

    Atitit 有限状态机 fsm 状态模式 1 有限状态机 1 2 状态表 和 状态轮换表 1 3 有限状态机概念 状态 State 事件 Event 转换 Transition 动作 Action 2 4 状态机的应用场景 2 4 1 有
  • 运行monkeyrunner报 ANDROID_SWT set error

    运行monkeyrunner报错 Please set ANDROID SWT to point to the folder containing swt jar for your platform 原因 monkeyrunner 找不到s
  • 《A Survey on Visual Transformer》阅读笔记

    文章目录 前言 一 用于视觉的transformer介绍 1 transformer发展的关键节点如下 视觉相关的transformer用红色标记 2 用于视觉的transformer代表性成果 二 transformer模型 1 原始tr
  • 【python爬虫】7.爬到的数据存到哪里?

    文章目录 前言 存储数据的方式 存储数据的基础知识 基础知识 Excel写入与读取 基础知识 csv写入与读取 项目 存储周杰伦的歌曲信息 复习 前言 上一关我们以QQ音乐为例 主要学习了如何带参数地请求数据 get请求 和Request
  • Web服务器、Servlet容器和Servlet

    1 什么是Web服务器 想要知道什么是Servlet容器 我们首先要知道什么是Web服务器 Web服务器使用HTTP协议来传输数据 最简单的一种情况是 用户在浏览器 客户端 client 中输入一个URL 如 www programcree
  • 「React 深入」一文吃透React v18 全部 Api(1.3w+ 字)

    点击上方 前端Q 关注公众号 回复加群 加入前端Q技术交流群 大家好 我是小杜杜 俗话说的好 工欲善其事必先利其器 什么意思呢 就是说你想玩转React就必须知道React有什么 无论是否运用到 首先都要知道 提升思维广度 其实React官
  • 教你如何测试局域网网速

    网络管理员最常遇到的问题就是网络连接问题 也许公司员工的计算机无法上网那么我们可以通过简单的几步就检测到问题所在 但有一种网络连接问题却让我们无所适从 那就是员工反映网络速度缓慢 因为决定网络速度的因素很多 不可能通过简单的操作检测出速度的
  • SpringBoot 将项目打包成 jar 包

    SpringBoot 将项目打包成 jar 包 一 项目打包成 jar 包 首先在 pom xml 文件中导入 Springboot 的 maven 依赖
  • java对redis的基本操作

    原文地址 http www cnblogs com edisonfeng p 3571870 html 一 server端安装 1 下载 https github com MSOpenTech redis 可看到当前可下载版本 redis2
  • SDN NSX-T 配置load balance

    配置负载均衡 创建一个T1网关 选择Edge池分配大小 配置T1服务接口 展开 服务接口 单击 设置 配置服务接口的名称 IP地址 连接的分段 配置完成后点击 保存 在NSX T Manager中 转到 网络 gt 网络服务 gt 负载均衡

随机推荐

  • 满二叉树等长路径

    满二叉树等长路径 给定一个深度为 n 的满二叉树 其 2n 11 个顶点的编号为 1 2n 11 树的根节点为 1 号节点 除根节点外 第 i 号节点的父节点为第 i2 号节点 例如 当 n 3 时 二叉树如下所示 树中每条边的长度已知 由
  • 图的广度优先搜索(bfs)

    图的广度优先搜索 Broad First Search 所谓的深度优先搜索 指的是在搜索时 如果遇到一个结点既有子结点 又有兄弟结点 那么先找兄弟结点 然后找子结点 类似于一个分层搜索的过程 广度优先遍历需要使用一个队列以保持访问过的结点的
  • 在浏览器输入URL后发生了什么?

    在浏览器输入URL并获取响应的过程 其实就是浏览器和该url对应的服务器的网络通信过程 从封装的角度来讲 浏览器和web服务器执行以下动作 简单流程 1 浏览器先分析超链接中的URL 分析域名是否规范 2 浏览器向DNS请求解析请求解析ht
  • 超低功耗摄像头 门锁 猫眼

    超低功耗摄像头 门锁 猫眼 简介 介绍一款超低功耗的CMOS 图像传感器 有着超低的功耗 非常适合用在电池供电的系统中 下面先贴一下具体核心参数 分辨率 324 244 传感器大小 1 11 图像 支持彩色 黑白 数据接口 DVP 输出格式
  • 2021年第十二届蓝桥杯省赛+国三C/C++B组参赛经历分享

    目录 一些流水账 备赛总结 语言选择 一些问题 牢骚 最近蓝桥杯报名又开始了 先预祝家人们能取得好成绩 一些流水账 按照惯例 先简单地自我介绍一下 本人就读于西南某不知名双非院校 计算机弱校 不是凡尔赛 专业为计科 参赛时为大二下学期 大二
  • 自动化点击操作:Python实现简易连点器及HTML测试

    这段Python代码实现了自动鼠标点击功能 通过调用pyautogui库和time库中的函数 实现了鼠标点击时间间隔的控制和延时操作 此外 借助threading库中的多线程技术 实现了点击操作和取消操作的同步执行 同时支持自动取消点击的功
  • 解决FATAL ERROR L250:CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED ,

    按照网上的资料 解决FATAL ERROR L250 CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 没有成功 先说这个问题的根本是没配置好 思路一 具体当然还是要按照大部分的经验来试 以管理员
  • libevent 源码分析丨libevent组件构成以及编程要领

    1 前言 Libevent是一个轻量级的开源高性能网络库 使用者众多 研究者更甚 相关文章也不少 写这一系列文章的用意在于 一则分享心得 二则对libevent代码和设计思想做系统的 更深层次的分析 写出来 也可供后来者参考 文章较长 建议
  • python写几种base加解密

    源代码 import base64 def b64encode basec PlainText basec encode utf 8 a base64 b64encode PlainText CipherText a decode utf
  • 上面高度自定义,下面表格自适应的flex布局

    问题描述 整体布局为上面有自定义查询 高度变化 下面是封装的表格 分页组件 外布局不滚动 overflow hidden 表格高度固定死了导致分页无法显示 解决方法 用div包裹表格组件 内部表格与分页均设置position absolut
  • 箱线图

    以前对箱线图一直一知半解 这次在网上找到一篇不错的文章 首先 箱形图更多用于多组数据的比较 相对直方图不仅节省了空间 还可以展示出许多直方图不能展示的信息 单组数据则更适合采用直方图 使可视化效果更加直观 文章来源于 镝次元 公众号 在此向
  • vggface2人脸识别

    由于vggface2提供的的训练集和测试集类别完全不重合 说明这个数据集本身不是用来做分类问题的 所以以下的代码仅供参考 from future import print function import keras from keras l
  • logstash数据采集差8小时问题及解决(原创)

    作者 star 软件版本 软件名称 版本号 elasticsearch 2 1 1 logstash 2 3 1 问题解决办法 解决方案1 input jdbc jdbc connection string gt jdbc oracle t
  • 一键批量下载某篇文献的所有引用文献以及被引文献

    你还在为一篇一篇的下载参考文献而费时费力苦恼无比吗 曾经我像你一样 用一下午下载某一篇文献的80多篇参考文献 一篇一篇的下载简直要疯了 然而 现在有了一个简单高效实用的方法 只需两分钟即可批量下载所有的参考文献以及施引文献到mendely
  • 这年头还不来尝试线稿图视频??

    博客首页 knighthood2001 欢迎点赞 评论 热爱python 期待与大家一同进步成长 先看后赞 已成习惯 只截取了一部分 怕截取太多 你们打开卡 目录 前言 1原始视频逐帧提取 py 2原始视频音频提取 py 3 1PIL批量转
  • ubuntu16.04下 Phpstorm发布项目到apache

    在网上找的不靠谱 倒腾了大半天的 终于找到正确姿势QAQ 仅以此备份 顺带一提JetBrains是一个神奇的公司他们的全系列ide都是最好的IDE 强烈推荐学习使用 像Google官方的AndroidStudio也是基于他们的IDE的 我觉
  • .net截取两个字符串中间的内容

    做模拟登录时 需要截取html代码中的名字 返回的字符串内容如下 span class welcome 您好 span style font size 20px span 王霞 span span 欢迎您 span 我后台要怎样截取得到王霞
  • 论文笔记: Flow Prediction in Spatio-Temporal Networks Based on Multitask Deep Learning

    2020 TKDE 基于FCN 同时预测时空中的节点和边缘的流量 1 节点流量 边缘流量 2 问题定义 3 模型 4 实验 4 1 数据 TaxiBJ 2013年 2016年四个时间段北京市出租车GPS数据和气象数据 TaxiNYC 201
  • Consul功能简介

    Consul 是 HashiCorp 公司的一个用于实现分布式系统的服务发现与配置工具 Consul内置了服务注册与发现框 架 分布一致性协议实现 健康检查 Key Value存储 多数据中心方案 由于出现得晚些 Consul具有功能完善
  • UPC山头狙击战--二分

    题目描述 Lucky为了掩护大部队 单枪匹马同敌人周旋 后来被敌人包围在某山头 等等 为什么怎么听怎么像狼牙山五壮士 不过不用着急 这次Lucky携带了足够的弹药 完全可以将涌上来的敌人一个一个干掉 Lucky是个神枪手 只要他的枪膛中有子