Problem C: 【2021基础】烧菜
Description
小 X 正在指挥 M 个机器人做一道家常菜:白灼青菜。
把一根青菜烧成菜肴需要两个步骤:洗菜和水煮。显然,一根青菜不可能同时被清洗和 水煮,也不可能先被水煮后被清洗。
现在小 X 告诉你他是怎么指挥的。每当一个机器人空下来:
· 如果有青菜还没被清洗,就让这个机器人清洗这根青菜
· 否则如果有青菜还没被水煮,就让这个机器人水煮这根青菜
· 都没有就让这个机器人关机
现在一共需要把 N 根青菜烧成菜肴,任何一个机器人清洗都要花 A 分钟,水煮要花 B
分钟。小 X 想请你告诉他多少分钟后所有菜能被烧好。
Input
第一行 4 个正整数 N,M,A,B,含义见问题描述。
Output
输出 1 行包含一个整数,表示多少分钟后所有菜能被烧好。
Sample Input Copy
3 2 9 5
Sample Output Copy
23
HINT
样例 1 解释
为了方便说明,把机器人标号为 1 号机器人和 2 号机器人;把青菜标号为 1 号、2 号、
3 号青菜。实际上,机器人间是没有区别的,青菜间也是没有区别的。
第 0 分钟,1 号机器人开始洗 1 号青菜,2 号机器人开始洗 2 号青菜。
第 9 分钟,1 号机器人开始洗 3 号青菜,2 号机器人开始煮 1 号青菜。
第 14 分钟,2 号机器人开始煮 2 号青菜。
第 18 分钟,1 号机器人开始煮 3 号青菜。第 19 分钟,2 号机器人关机。
第 23 分钟,所有菜都被烧好了,1 号机器人关机。
数据范围
本题共有 20 个测试点,每个测试点 5 分。
对于测试点 1-10 :1<=N,M,A,B<=50 对于测试点 11-20:1<=N,M,A,B<=2000
对于测试点 1,2,11,12:M>N,即机器人比青菜多对于测试点 3,4,13,14:M=1,即只有 1 个机器人
对于测试点 5,6,15,16:A=B,即两个步骤需要的时间相同