愤怒的DZY
【问题描述】
“愤怒的小鸟”如今已经是家喻户晓的游戏了,机智的WJC最近发明了一个类似的新游戏:“愤怒的DZY”。游戏是这样的:玩家有K个DZY,和N个位于不同的整数位置:X1,X2,…,XN的干草包。每一个DZY都可以站在某个位置:X 扔炸弹,扔完炸弹,这个DZY就会挂掉。扔炸弹的半径为R(且每次每个DZY扔炸弹的半径不变,都是R,而站的位置X可以改变),破坏范围为的X−R~X+R(即位置在X-R到X+R(含X-R,X+R)都会被炸掉)。现在给定DZY的个数K,和干草堆的位置:X1,X2,…,XN,问你最小的可以炸掉所有干草堆的半径R。
【输入说明】
第一行两个正整数N,K。接下来N行,每行一个数,依次是:X1,X2,…,XN。
【输出说明】
仅一行,代表最小的可以炸掉所有干草堆的半径R。
【样例输入】
7 2
20
25
18
8
10
3
1
【样例输出】
5

命题人:Hacker_WJC

解体思路:这是我的第一道最大值最小化问题,康总说这类问题一般都用二分搜索解决。长知识了。

代码如下:

#include<stdio.h>
#include<algorithm>
using namespace std;
int n,k,ans;
int a[1000100];
bool judge(int r){int i,j,st;st=0;for(i=1;i<=k;i++){j=st+1;while(j<n&&(a[j]-a[st])/2+(a[j]-a[st])%2<=r){j++;}st=j;if(j==n)return true;}return false;
}
void solve(){int l,r,mid;l=1;r=a[n-1]-a[0]+1;ans=0;while(l<=r){mid=(l+r)/2;if(judge(mid)){r=mid-1;ans=mid;} else l=mid+1;}printf("%d\n",ans);
}
int main(){while(scanf("%d%d",&n,&k)!=EOF){for(int i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);
//        if(n==1){
//          printf("0\n");
//        }//炸弹扔在原地 solve();}return 0;
} 

BUAAOJ--1389相关推荐

  1. python数字图像的行 宽的不同处 cv2.resize(1389,1500) p1列宽 p2 行高 stop2.shape 得(640,960,3) v1列宽 v2 行高 v3 通道数

    python数字图像的行 宽的不同处 cv2.resize(1389,1500) p1列宽 p2 行高 stop2.shape 得(640,960,3) v1列宽 v2 行高 v3 通道数

  2. arraylist转int数组_LeetCode 1389. 按既定顺序创建目标数组

    题目 1389. 按既定顺序创建目标数组 描述 示例 1: 输入:nums = [0,1,2,3,4], index = [0,1,2,2,1] 输出:[0,4,1,3,2] 解释: nums ind ...

  3. vue2 卸载 uninstall vue-meta 报错 up to date, audited 1389 packages in 10s 96 packages are looking for

    问题描述: 我为了设置 meta然后 去网上找了一个教程,然后安装了,发现是vue3的 一个命令后报错了,然后没有注意到结果后面安装也出现问题,但是不知道是不是这个原因, 如下 vue3 的meat设 ...

  4. 1389:买零食【C++】

    原题链接:http://101.200.52.143/problem.php?pid=1389 算法标签:动态规划.01背包 代码: #include<iostream> #include ...

  5. 1389:变态跳台阶 @jobdu

    题目1389:变态跳台阶 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:916 解决:559 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个 ...

  6. 信息学奥赛一本通 1389:亲戚

    [题目链接] ybt 1389:亲戚 [题目考点] 1. 并查集 [解题思路] 并查集中,每个集合由一个树来表示,树的根结点代表一个集合.find函数可以返回一个结点所在集合的根结点. 设peoNum ...

  7. 前端学习(1389):多人管理项目9登录功能具体实现

    blog.js const express = require('express'); //创建网站服务器 const app = express(); //开放静态资源文件 const path = ...

  8. LeetCode 1389. 按既定顺序创建目标数组

    1. 题目 给你两个整数数组 nums 和 index.你需要按照以下规则创建目标数组: 目标数组 target 最初为空. 按从左到右的顺序依次读取 nums[i] 和 index[i],在 tar ...

  9. 1389. 按既定顺序创建目标数组

    2020-04-18 1.题目描述 按既定顺序创建目标数组 2.题解 vector的插入操作:vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a; 3.代码 class ...

  10. POJ 1389 Area of Simple Polygons(扫描线求面积)

    思路:纯纯扫描线求面积模板题,求点赞qaq. #include<iostream> #include<cstdio> #include<cstring> #incl ...

最新文章

  1. 2021全国高校计算机能力挑战赛(初赛)Java试题一
  2. cmake重新编译matlab,ubuntu系统下cmake 编译matlab中mex文件
  3. python第三方库numpy-Python中的第三方库——Numpy
  4. 实现Singleton 模式——七种实现方式
  5. Matlab——数值计算——单个代数方程 代数方程组
  6. Nginx深入详解之过滤模块
  7. ASP.NET AJAX - Timer控件之摆放位置的影响
  8. 若微型计算机在工作时突然断电,16秋《计算机基础》作业1
  9. Spring Boot 中文乱码问题解决方案汇总
  10. linux进程跑飞了,【Shell】Linux信号(二)
  11. contenteditable获得焦点后的边框设置
  12. 函数式编程中的两个棘手问题
  13. EXCEL根据条件随机内插若干行及对应数据
  14. PAT-BASIC-1001-害死人不偿命的(3n+1)猜想
  15. 论文阅读:Vision GNN: An Image is Worth Graph of Nodes
  16. HTML5浪漫生日祝福电子贺卡网页模板(HTML5+CSS3+JS)_520表白/七夕情人节表白/告白网页制作/生日快乐html模板
  17. YOLOv5数据集标注工具
  18. apache poi excel word 加密,不用借助其他jxcell.jar包
  19. 10个顶级jQuery Date弹出插件
  20. 绿色版plsql安装和安装包

热门文章

  1. 闲鱼代码Java_面向未来的黑科技——UI2CODE闲鱼基于图片生成跨端代码
  2. 【Ubuntu Ip冲突时通过Netplan修改Ip】
  3. HTML学生个人网站作业设计:游戏网站设计——原神首页 1页 带轮播图
  4. 【WOA三维路径规划】基于matlab灰狼算法无人机三维航迹规划【含Matlab源码 2445期】
  5. 台式电脑怎么调分辨率_电脑怎样调整屏幕分辨率大小
  6. Ext.ux.data.PagingMemoryProxy,用于本地数据前台分页,用法都是我一点点试出来的,不是网上粘贴来复制去的东西
  7. 为什么setTimeout()不准时
  8. 如何使用内连接查询?
  9. 正版鬼泣手游服务器,鬼泣巅峰之战渠道服
  10. Email发送邮件使用ical4j将时间同步日历中