20115 - 에너지 드링크

LeeKyoungChang·2022년 6월 7일
0

Algorithm

목록 보기
149/203
post-thumbnail

📚 20115 - 에너지 드링크

에너지 드링크

 

이해

✔ 규칙

  • a의 양을 xa + (xb / 2)로 만들고, b를 버리기
  • b의 양을 xb + (xa / 2)로 만들고, a를 버리기`

내림차순으로 정렬 후, 인덱스마다 이전 결과값가 현재 값을 비교하여 작은 값을 2로 나누어주면 된다.

 

소스

import sys  
  
read = sys.stdin.readline  
  
n = int(read())  
  
energy = list(map(int ,read().split()))  
  
energy.sort(reverse=True)  
  
answer = 0  
answer += min(energy[0], energy[1]) / 2 + max(energy[0], energy[1])  
for i in range(2, len(energy)):  
    answer = min(answer, energy[i]) / 2 + max(answer, energy[i])  
  
print(answer)

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글