※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24867번 문제인 Два станка이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24867
24867번: Два станка
В примере выгодно сначала ввести в строй второй станок и за оставшиеся $15$ минут изготовить $45$ деталей, а затем ввести в строй первый и за ост
www.acmicpc.net
단순히 하나의 기계만을 키는 것이 아닌, 두 기계 A와 B에 대하여 A를 먼저 가동시키고 다음에 B를 가동시키는 시도와 B를 먼저 가동시키고 다음에 A를 가동시키는 시도의 생산량 중 최댓값을 출력해주자.
답이 32비트 정수 자료형을 넘어갈 수 있으므로 64비트 정수 자료형을 이용하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
typedef long long ll;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll K; cin >> K;
ll A, X, B, Y; cin >> A >> X >> B >> Y;
ll ans = 0;
if (A < K) {
ll timeleft = K - A;
ll prod = timeleft * X;
if (B < timeleft) {
prod += (timeleft - B) * Y;
}
ans = max(ans, prod);
}
if (B < K) {
ll timeleft = K - B;
ll prod = timeleft * Y;
if (A < timeleft) {
prod += (timeleft - A) * X;
}
ans = max(ans, prod);
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25001 // C++] Pen (0) | 2022.05.01 |
---|---|
[BOJ 24999 // C++] Prom (0) | 2022.05.01 |
[BOJ 1065 // C++] 한수 (0) | 2022.05.01 |
[BOJ 24931 // C++] Patchwork (0) | 2022.05.01 |
[BOJ 24935 // C++] Travelling Caterpillar (0) | 2022.05.01 |