어디가 틀린지 잘 못찾겠는데 혹시 반례나 제 코드에서 오류부분 한번 확인해주실 분 계실까요?
n, m = map(int, input().split()) # 끊어진 기타줄 개수, 기타줄 브랜드
g = []
result = 0
k = 1001
for _ in range(m):
p, s = map(int, input().split()) # 패키지, 낱개
g.append((p,s))
if m == 1: # 브랜드가 한 종류인 경우
if n%6 == 0: # 끊어진 줄의 갯수가 6의 배수라면
cnt = n//6
else:
cnt = n//6 + 1 # 6의 배수가 아니라면 1개 더 추가
print(min(cnt*p, s*n)) # 패키지로 살 경우와 낱개로 살 경우 중 작은 값 출력
exit()
if n <= 6: # 끊어진 줄의 갯수가 6개 이하라면
temp = []
for x,y in g:
temp.append(min(x, y*n)) # 패키지 가격 vs 낱개 가격 각각 비교후
print(min(temp)) # 최소 값 출력
else: # 브랜드 2개 이상, 끊어진 줄 7개 이상이라면
g.sort() # 패키지 가격 기준으로 정렬
temp = n//6 # n을 넘지 않는 패키지로 구매 가능한 수
for i in range(len(g)):
k = min(k, g[i][1]) # 최소 낱개 가격을 구한 후
result += min(temp*g[0][0], k*temp) # 패키지 가격으로 살 경우와 낱개 가격으로 살 경우 중 최소 값 더하기
if g[0][0] > k: # 만약 낱개 가격보다 최소 패키지 가격이 더 크다면
result += k * (n%6) # 나머지 줄 수는 낱개로 구매하기
else:
result += g[0][0] # 아니라면 패키지로 1개 더 구입
print(result)
subeloper 2년 전
게시판에 있는 반례랑 문제 테케는 다 통과하는데 30%부분에서 틀렸습니다가 나옵니다.
어디가 틀린지 잘 못찾겠는데 혹시 반례나 제 코드에서 오류부분 한번 확인해주실 분 계실까요?