拯救地球学会召集了N位会员来参加一个紧急会议,目的是最终通过一个方案来拯救世界。为了在会上达成一致的决议,与会人员将按以下流程进行:
1.每位会员都有一个方案(proposal),需要花P分种来给其他会员进行展示
2.当每位会员都展示完毕,他们需要投票(vote)选出最好的方案,这需要V分钟
例如,如果每个方案花1分钟展示(P=1),投票也花1分钟(V=1),一个100人参加的会议将在101分钟后得出最终结果。
为了更快地得到最终结果,参加会议的会员们决定分组开会,同时进行。每个小组按照上面的流程选出组内最佳的方案。然后每个小组的代表再开会,并从每个小组的最佳方案中选出最终结果。
比如,如果100名会员分成2组,一组40人,另一组60人,会议将按下面的情况进行(仍然设P=V=1):
l 人多的小组花61分钟选出组内最佳方案;
l 人少的小组花41分钟选出组内最佳方案,然后得等人多的小组的会议结束;
l 2个小组的2位代表开会,花2分钟时间互相展示各自的方案,然后花1分钟投票。
这样,会议进行的总时间为61+2+1=64分钟。
但是小组可以再细分成更小的组(subgroup),而且有时候分成2组以上会更快。比如在特殊情况下,1个的小小组(subgroup)不需要给自己做展示,也不用做选择。
给定P和V,编写程度,计算N名会员参加会议并得到最终结果所需要的最短时间,假设他们最优化地安排会议和分组。