P9761 题解
FurippuWRY · · 题解
由题意可知:机器启动需要时间,在这段时间内机器无法制造零件,并且两台机器不可同时启动。
所以,如果先启动机器
反之,如果先启动机器
因为要求的是输出最多能制造的零件个数,所以输出:
于是就有了:
printf("%lld", max((k - a) * x + (k - a - b) * y, (k - b) * y + (k - a - b) * x));
喜提
注意到
#include <bits/stdc++.h>
using namespace std;
long long k, a, x, b, y;
long long f(long long x) {
return (x < 0ll ? 0ll : x);
}
int main() {
scanf("%lld %lld %lld %lld %lld", &k, &a, &x, &b, &y);
printf("%lld", max(f(k - a) * x + f(k - a - b) * y, f(k - b) * y + f(k - a - b) * x));
return 0;
}