3131:燃料分配(fuel.cpp)
文件提交:无需freopen
内存限制:256 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
1
提交:30
解决:1
题目描述
现在有
台机器在工作,每台机器都需要输入一些燃料才能够工作。你总共有
单位的燃料,你可以将这些燃料随意分给每台机器。一台机器能够工作的阈值为
,即若某一台机器被分到的燃料小于
,则无法工作。
一台机器的产出和投入燃料成正比,即假设一台机器被分到的燃料为
,则它每分钟产出
。同时,每台机器的总产出上限为
,即如果一台机器经过若干时长的工作之后已经产出了
,则之后它不会再产出。
你总共有
分钟,你希望在这段时间内所有机器的产出之和尽可能地多,请问最多的产出之和是多少?
请注意:在第 0 分钟时,你可以进行燃料分配,之后你无法再调整每个机器被分到的燃料。且每个机器被分到的燃料必须为一个整数。
一台机器的产出和投入燃料成正比,即假设一台机器被分到的燃料为
你总共有
请注意:在第 0 分钟时,你可以进行燃料分配,之后你无法再调整每个机器被分到的燃料。且每个机器被分到的燃料必须为一个整数。
输入
输入一行包含五个正整数
,意义如题面所示。
输出
输出一行一个整数表示答案。
样例输入
2 10 6 25 3
样例输出
25
提示
【样例 1 说明】
将所有燃料全部分给机器 1,那么机器 1 每分钟产出 10,总共产出 3 分钟。 但是由于单个机器的产出上限为 25, 所以机器 1 的总产出是 25。由于机器启 动的阈值为 6 ,而燃料总数只有 10 ,所以无法让两台机器都启动。
【样例 2 输入】
2 10 5 25 3
【样例 2 输出】
30
【样例 2 说明】
给每台机器 5 的燃料, 3 分钟后每台机器产出 15,共产出 30
【样例 3 输入】
123456 4 2 57257 98765
【样例 3 输出】
114514
【样例 4 输入】
123456 10 3 234567 301
【样例 4 输出】
3010
【数据范围】
对于 30% 的数据,有 1 ≤ n ≤ 10,1 ≤ m ≤ 100
对于 70% 的数据,有 1 ≤ n, m, k, Q, t ≤ 105
对于 100% 的数据,有 1 ≤ n, m, k, Q, t ≤ 109