Processing math: 100%

BZOJ4378 : [POI2015]Logistyka

对于每个询问,设不小于s的个数为cnt,小于s的和为sum

那么如果可以进行s轮,当且仅当sum(ccnt)×s

权值线段树维护,时间复杂度O(mlogm)

证明:

如果cntc,那么显然可以每次取c个。

否则如果sum(ccnt)×s,那么小于s的个数必然不小于c,可以每次取最大的c个来完成。

sum<(ccnt)×s时,那么无论怎么取,都是做不到s轮的。

 

  

posted @   Claris  阅读(730)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示