-문제: https://www.acmicpc.net/problem/1049

 

그렇게 어렵지 않았던 문제다. 

처음에는 한 브랜드 당 패키지로만 살 때, 패키지+낱개, 낱개로만 살 때 중 최솟값을 출력하면 된다고 생각했는데

예제를 보니까 브랜드가 섞여도 상관없다는 것을 알게 된 뒤 

패키지에서 최솟값과 낱개에서 최솟값을 가지고 

min(패키지로만, 패키지 + 낱개, 낱개만)의 값을 출력했다 

Silver Level4 문제 

 

-정답풀이: 

n, m = map(int, input().split())
data=[]
for _ in range(m):
    data.append(list(map(int,input().split())))
    
data.sort(key=lambda x : x[0])
a=data[0][0]
data.sort(key=lambda x : x[1])
b=data[0][1]

answer=min(((n//6)+1)*a, (n//6)*a + (n%6)*b, b*n)
print(answer)

+ Recent posts