bzoj#P2347. [Baltic2011]Meetings

[Baltic2011]Meetings

题目描述

拯救地球学会召集了 nn 位会员来参加一个紧急会议,目的是最终通过一个方案来拯救世界。为了在会上达成一致的决议,与会人员将按以下流程进行:

  1. 每位会员都有一个方案(proposal),需要花 pp 分种来给其他会员进行展示。
  2. 当每位会员都展示完毕,他们需要投票(vote)选出最好的方案,这需要 vv 分钟。

例如,如果每个方案花 11 分钟展示(p=1p=1),投票也花 11 分钟(v=1v=1),一个 100100 人参加的会议将在 101101 分钟后得出最终结果。

为了更快地得到最终结果,参加会议的会员们决定分组开会,同时进行。每个小组按照上面的流程选出组内最佳的方案。然后每个小组的代表再开会,并从每个小组的最佳方案中选出最终结果。

比如,如果 100100 名会员分成 22 组,一组 4040 人,另一组 6060 人,会议将按下面的情况进行(仍然设 p=v=1p=v=1):

  1. 人多的小组花 61 分钟选出组内最佳方案;
  2. 人少的小组花 41 分钟选出组内最佳方案,然后得等人多的小组的会议结束; 3.22 个小组的 22 位代表开会,花 22 分钟时间互相展示各自的方案,然后花 11 分钟投票。

这样,会议进行的总时间为 61+2+1=6461+2+1=64 分钟。

但是小组可以再细分成更小的组(subgroup),而且有时候分成 22 组以上会更快。比如在特殊情况下,11 个的小小组(subgroup)不需要给自己做展示,也不用做选择。

给定 ppvv,编写程序,计算 nn 名会员参加会议并得到最终结果所需要的最短时间,假设他们最优化地安排会议和分组。

输入格式

第 1 行,也是唯一的一行,有 33 个整数 n,p,vn,p,vnn 是参加会议的会员人数,pp 是展示用的时间(单位为分钟),vv 是投票用的时间(单位为分钟)。

输出格式

第 1 行,也是唯一的一行,应给出整数 mm,即整个会议得到最终结果所需要的最短时间。

样例输入

9 1 1
6 1 2
6 2 1

样例输出

88
12

样例说明

在第一个样例中,会员们可以分成 33 组,每组 33 人,每组需要 44 分钟,这 33 组的 33 名代表再花 44 分钟即可得到最终结果。

数据规模与约定

对于 40%40\% 的数据,1n5×1031 \leq n \leq 5 \times 10^3
对于 70%70\% 的数据,1n5×1041 \leq n \leq 5 \times 10^4
对于 100%100\% 的数据,1n10151 \leq n \leq 10151p,v1031 \leq p, v \leq 10^3