kwan's note

백준 2217번 로프 파이썬 (python code) 본문

Algorithm/python

백준 2217번 로프 파이썬 (python code)

kwan's note 2021. 1. 21. 12:23
반응형

문제번호 2217

난이도 실버4

 

www.acmicpc.net/problem/2217

 

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net

로프를 여러개 쓰면 가장 장력이 낮은 줄로 하향평준화된다.

따라서 모든 로프를 쓸 때 즉 N개를 쓰면 가장 낮은 로프의 장력*N이되고

N-1개의 로프를 쓴다고 하면 두번째로 낮은 로프의 장력*N-1이 된다.

이중 max값을 구하는것이므로 i=0부터 N-1까지 모든 로프에 대해 작은것부터 max값을 구하면 된다.

import sys

N = int(sys.stdin.readline().rstrip())
rope =[int(sys.stdin.readline().rstrip()) for _ in range(N)]

rope.sort()
print(max(rope[i]*(N-i) for i in range(N)))

 

반응형