본문 바로가기

알고리즘

python 백준2217 로프(BOJ2217)

문제링크 : https://www.acmicpc.net/problem/2217

 

2217번: 로프

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

www.acmicpc.net

 

처음에 구현하는건 어렵지않게 했는데 틀려가지고 읭? 반례를 한참 찾아서 수정했다

근데 채점시간이 왜이리 오래걸릴까?

(입력받는걸 수정하니까 금방 된다.)

 

n = int(input())

#입력받는 속도가 너무 느림
#rope_type = [int(sys.stdin.readline()) for _ in range(n)]
rope_type = [int(input()) for _ in range(n)]

rope_type.sort(reverse = True)

max_weight = 0

for i in range(len(rope_type)):
  temp_weight = rope_type[i] * (i+1)
  if temp_weight > max_weight:
    max_weight = temp_weight

print(max_weight)