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);
}
}