前言
坑点还是蛮多的,不过既然自己做出来了就总结一下吧!
题目描述
明明的手机上有这样一个游戏,一排nnn个怪物,每个怪物的血量是mim_{i}mi 。
现在明明可以射出 kkk个伤害均为ppp的火球,当某个火球射到第iii个怪物,除了这个怪物会掉血以外,它左边的第 j个怪物 (jjj ≤\leq≤ iii),也会遭到max(0,p−(i−j)2)max(0,p-(i-j)^2)max(0,p−(i−j)2)的溅射伤害。
当某个怪物的血量为负的时候,它就死了,但它的尸体依然存在,即其他怪物不会因为它死而改变位置。
明明想用这 k个火球消灭掉所有的怪物,但他同时希望每个火球的伤害 能尽可能的小,这样他才能完美过关。
所有数均为整数。
输入格式
第一行两个数nnn,kkk 。
第二行nnn个数 表示每个怪物的生命值mim_imi。
输出格式
一行一个整数表示最小的符合要求的ppp值。
样例
输入样例1
3 1
1 4 5
输出样例1
6
数据范围与提示
对于303030%的数据,nnn ≤\leq≤ 300300300。
对于100100100%的数据,nnn ,kkk ≤\leq≤ 5e55e55e5,mim_imi ≤\leq≤ 1e101

本文提出了一种高效的算法来解决一个特定的游戏问题,即如何利用有限数量的火球消灭所有怪物,同时确保每个火球的伤害尽可能小。通过二分查找确定最小伤害值,并采用额外的二分查找优化检查过程。
最低0.47元/天 解锁文章
551

被折叠的 条评论
为什么被折叠?



