728x90
반응형
https://www.acmicpc.net/problem/1049
술술 풀다가 실수해서 틀릴것 같은 문제
패키지가격과 낱개가격의 최솟값을 구해놓은 후,
1. 낱개*6개 가격이 패키지가격보다 싼 경우, 기타줄 개수만큼 모두 낱개로 구매
2. 패키지로 사고, 나머지 줄은 낱개로 사는 경우
3. 패키지로 사고, 나머지 줄도 패키지로 사는 경우
이 세가지 경우로 나누어 풀었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class P1049 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int min_package = 1001;
int min_single = 1001;
for (int i = 0; i < m; i++) {
st = new StringTokenizer(br.readLine());
int current_package = Integer.parseInt(st.nextToken());
int current_single = Integer.parseInt(st.nextToken());
if (min_package > current_package)
min_package = current_package;
if (min_single > current_single)
min_single = current_single;
}
if(min_single*6<=min_package) {
System.out.println(min_single*n);
}
else {
if(n%6==0) {
System.out.println(min_package*(n/6));
}
else {
if((n%6)*min_single <min_package) {
System.out.println(min_single*(n%6)+min_package*(n/6));
}
else {
System.out.println(min_package*((n/6)+1));
}
}
}
}
}
728x90
반응형
'코딩 > 백준-자바' 카테고리의 다른 글
[자바] 1107번: 리모컨 (0) | 2023.01.01 |
---|---|
[자바] 백준 1092번: 배 (1) | 2022.12.31 |
[자바] 백준 16953번: A -> B (0) | 2022.12.30 |
[자바] 백준 12904번: A와 B (0) | 2022.12.30 |
[자바] 백준 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2022.12.30 |
댓글