티스토리 뷰

728x90

https://www.acmicpc.net/problem/1049

 

1049번: 기타줄

첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주

www.acmicpc.net

 

 

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
N, M = map(int, input().split())  # N : 끊어진 기타줄 개수
lst = []
ans = 0
for _ in range(M):
    a, b = map(int, input().split())  # a : 패키지 가격(6개), b : 낱개 가격
    lst.append((a, b))
min_p, min_e = 10011001    # 최소 패키지, 낱개 값 저장
for pa, ea in lst:
    min_p, min_e = min(pa, min_p), min(ea, min_e)
if N <= 6:
    ans = min(min_p, min_e * N)        # 6개 이하라면 패키지 값 vs 낱개 값 * 갯수
else:
    n = N // 6
    N %= 6
    ans = min(n * min_p, n * min_e * 6+ min(min_p, N*min_e)    # ex : 9개라면 N / 6 -> 1개의 패키지와 6개의 낱개 비교 후, 나머지 3개 비교
print(ans)
cs

 

댓글