solution
1. 내림차순
2. 15, 10의 경우 1. 15로프를 이용해 15의 중량 들어올리는 경우
2. 15로프, 10로프를 이용해 20의 중량을 10/10으로 들어올리거나
# 2217, 로프
import sys
import heapq
n = int(sys.stdin.readline())
heap = []
for _ in range(n):
w = int(sys.stdin.readline())
heapq.heappush(heap, (-w, w))
r = 1
max_ = 0
while heap:
max_ = max(max_, r * heapq.heappop(heap)[1])
r += 1
print(max_)
문제 출처 www.acmicpc.net/problem/2217
'알고리즘 > 구현' 카테고리의 다른 글
파이썬 | 백준 | 3048 | 개미 (0) | 2020.11.17 |
---|---|
파이썬 | 백준 | 1713 | 후보 추천하기 | defaultdict(int) (0) | 2020.11.11 |
파이썬 | 백준 | 17822 | 원판 돌리기 (0) | 2020.11.07 |
파이썬 | 프로그래머스 | 숫자 게임 (0) | 2020.11.05 |
파이썬 | 백준 | 1063 | 킹 (0) | 2020.11.04 |