[백준] 20115 에너지 드링크 (실버3)

AI·2025년 9월 11일

https://www.acmicpc.net/problem/20115

9분컷 - 문제 이해해서 규칙 찾는데만 5분 넘게 걸린 듯

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

/*
1. 입력/제약/자료형
   2 ≤ N(에너지 드링크 수) ≤ 10^5 / 1 ≤ xi(에너지 드링크 값) ≤ 10^9 + 소수점 필요 -> double 사용
2. 정렬/키/자료구조
   배열 + 정렬
3. 불변식 or 선택기준
   젤 큰 값빼고 전부 절반 = 합치기
 */
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());
        int[] a = new int[n];
        StringTokenizer st = new StringTokenizer(br.readLine());
        for(int i=0;i<n;i++){
            a[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(a);
        double drink = a[n-1];
        for(int i=0;i<n-1;i++){
            drink += (double)a[i]/2;
        }
        System.out.println(drink);
    }
}

0개의 댓글