/ Vijos / 题库 /

山头狙击战

山头狙击战

时间限制:1秒  内存限制:256M


【问题描述】

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

【输入格式】

  第一行有两个整数 \(n\) 和 \(m\),\(n\) 代表敌人个数,\(m\) 代表Lucky的射程。接下来有 \(n\) 行,每行一个整数 \(d_i\),代表每个敌人一开始相对山头的距离(单位为米)。

【输出格式】

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

【输入输出样例】

 Input

6 100
236
120
120
120
120
120

 Output

25

【数据限制】

  \(50\%\) 的数据有:\(2<=n<=10^3\)
  \(100\%\) 的数据有:\(2<=n<=10^5; 1<=m<=10^7;1<=d_i<=10^7\)

【来源】

  Mr.he

信息

ID
1153
难度
4
分类
其他 | 二分查找分治 点击显示
标签
(无)
递交数
4
已通过
1
通过率
25%
被复制
2
上传者