AtCoder Grand Contest 041 B - Voting Judges

这个可以说是复健题吧?
贼懵
也吸取了一个教训,就是不要乱跳步,下定义…局限思维
明明人家是最后结算,硬是乱想成不可以连续分
还是太弱了…
感觉思维炸掉了
嘛…
题解
先从大到小排序
答案明显具有单调性
直接二分答案
而后考虑check函数
设当前答案是第k个
那个k肯定加m
然后k+1—n都加m没关系
然后a1—ap-1都加m没关系
只要ap比ak+m小就ok了
然后可以发现只剩下一段区间ap—ak-1
把这个区间均分使得这个区间所有小于等于ak+m就ok了
如果还是不行
说明当前区间内加后一定有一个大于ak
所以答案就false

你可能感兴趣的:(思维题)