N개의 장미를 가장 싸게 구매할 수 있는 금액을 구하는 문제입니다.
가성비가 좋은 장미와 가성비가 좋지 못한 장미로 나눕니다.
이를 X와 Y로 볼 경우 Y는 X개 보다 적은 경우에만 정답이 나올 수 있습니다.
그래서 Y를 0개부터 X-1개 까지 구매하는 경우의 수를 전부 확인하여 결과값을 찾아냈습니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
long n = Long.parseLong(st.nextToken());
long a = Long.parseLong(st.nextToken());
long b = Long.parseLong(st.nextToken());
long c = Long.parseLong(st.nextToken());
long d = Long.parseLong(st.nextToken());
long result = Long.MAX_VALUE;
if (b * c < d * a) {
long temp;
temp = a;
a = c;
c = temp;
temp = b;
b = d;
d = temp;
}
for (int i = 0; i < c; ++i) {
long index = (long) Math.ceil((double) (n - i * a) / c);
if (index < 0) {
index = 0;
}
result = Math.min(result, i * b + index * d);
if (index == 0) {
break;
}
}
bw.write(result + "\n");
bw.close();
}
}
'알고리즘' 카테고리의 다른 글
[Java] 백준 10819번 차이를 최대로 (0) | 2023.07.22 |
---|---|
[Java] 백준 1991번 트리 순회 (0) | 2023.07.22 |
[Java] 백준 2141번 우체국 (0) | 2023.07.19 |
[Java] 백준 24956번 나는 정말 휘파람을 못 불어 (1) | 2023.07.18 |
[Java] 백준 8983번 사냥꾼 (0) | 2023.07.17 |