ABC227D - Project Planning
题目链接
题意:有N个部门,每个部门有Ai个人,一项任务需要K个部门各出一个人来完成,问最多可以完成多少个任务。
解法:类似于单调队列,取最大的K-1个部门,从小到大进队列,用ans=0记录暂时的答案,用cnt记录取到第几个部门,把剩下的部门的所有人加起来用sum记录,取第一个部门a[i],如果sum>=cnt*(a[i]-ans),就代表ans能取到a[i],所以,sum>=cnt*(a[i]-ans),ans=a[i],后面同理。
还有对多余sum的特判,看代码。
感觉上,就是.
原创
2021-11-13 22:20:53 ·
510 阅读 ·
0 评论