728x90
https://www.acmicpc.net/problem/20115
요상하게 요즘 그리디 문제를 많이 푸는 느낌?
문제에서 주어진 수식에 따르면
Xa + (Xb/2) 또는 Xb + (Xa/2) 두가지 선택을 할 수가 있다.
최대값을 구하는 것이므로, 더하는 값에 더 큰수가 오게하고, 2로 나누는 값에 작은 수가 오게 하면 greedy하게 풀 수 있다.
# 에너지드링크
n = int(input())
array = list(map(int, input().split()))
array.sort(reverse=True) # 내림차순 정렬
answer = array[0]
for i in range(1, n):
answer += array[i]/2
print(answer)
728x90
'Algorithm (PS)' 카테고리의 다른 글
[백준] 3190번: 뱀 (파이썬/Python) - 시뮬레이션, 구현 (0) | 2022.12.27 |
---|---|
[백준] 17070번 : 파이프 옮기기 1 (파이썬/python) 그래프탐색/dp (0) | 2022.12.26 |
백준 17615번: 볼 모으기 (Python/파이썬) - Greedy (0) | 2022.12.25 |
[백준] 17471번: 게리맨더링 (파이썬/Python) - bfs, brute force (1) | 2022.12.25 |
백준 17406번: 배열 돌리기 4 (Python/파이썬) (0) | 2022.12.24 |