로프를 역정렬해서 계산한다.
예를 들어서,
로프가 [10, 8, 6, 4, 2] 이렇게 있다고 치면,
앞에서부터 하나씩 추가하면서 계산해보면
들 수 있는 최대무게는
[10, 16, 18, 24, 10]이 된다.
로프의 개수 x 하중의 최소가 되는 것이다.
from sys import stdin
input = stdin.readline
N = int(input())
rope = []
for _ in range(N):
rope.append(int(input()))
rope.sort(reverse=True)
answer = rope[0]
cnt = 1
for i in range(1, N):
cnt += 1
tmp = cnt * rope[i]
if tmp > answer:
answer = tmp
print(answer)
'PS' 카테고리의 다른 글
[BOJ] 2565번 전깃줄 문제 - Python (0) | 2021.03.25 |
---|---|
[BOJ] 1068번 트리 문제 - Python (0) | 2021.03.10 |
[BOJ] 1309번 동물원 문제 - Python (0) | 2021.03.08 |
[BOJ] 15666번 N과 M (12) 문제 - Python (0) | 2021.03.04 |
[BOJ] 15664번 N과 M (10) 문제 (0) | 2021.03.03 |