- 모든 로프를 사용해야 할 필요는 없으며 임의로 몇 개의 로프를 골라서 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구하는 문제다.
테스트케이스의 예제를 설명하면 다음과 같다.
- 2개의 로프가 주어져있고 각 로프가 들어올릴 수 있는 물체의 최대 중량은 각각 10kg, 15kg이다.
- 10kg를 견딜 수 있는 로프를 사용하면 들어올릴 수 있는 물체의 최대 중량 = 10kg
- 15kg를 견딜 수 있는 로프를 사용하면 들어올릴 수 있는 물체의 최대 중량 = 15kg
- 10kg, 15kg를 둘 다 사용해서 들어올릴 수 있는 물체의 최대 중량 = 10kg + 10kg = 20kg
- 각 로프가 들어올릴 수 있는 물체의 최대 중량을 오름차순으로 정렬하여 답을 구하는 코드를 작성했다.
import sys
N = int(input())
rope = []
for i in range(N):
rope.append(int(sys.stdin.readline().strip()))
rope.sort()
maximum_weight = 0
total_weight = 0
K = len(rope)
for i in range(len(rope)):
total_weight += K * rope[i]
if total_weight > maximum_weight:
maximum_weight = total_weight
total_weight = 0
K -= 1
print(maximum_weight)