D题 题面
input
4 4 3 1 2 1 1 1 6 2 2 2 1 1 1 8 6 3 6 3 6 3 6 6
output
0 2 3 2
思路:
取重量较小的 = i 人分作轻量级组,取重量较大的
= j 人分作重量级组,剩余 n - le[i] - gr[j] 人向上取到最近的
= k 人分作中间重量的组,于是答案是 n - i - j - k 人。*le[]和gr[]分别代表重量较轻的i人中有多少是原有的选手 和 重量较重的j人中有多少是原有的选手,i-le[i]是主办方额外添加的选手人数,遍历就是i<<=1。操作中把 i , j , k 全部遍历一次,
即可。
代码:
#inc