Problem Solving/Baekjoon
[백준] 20115 에너지 드링크 - Greedy / Java
graycode
2023. 4. 7. 10:36
• 문제 링크
20115번: 에너지 드링크
페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한
www.acmicpc.net
• 풀이 과정
각 용액의 양을 입력받아 모두 합하면서, 이 중 최대값을 구한다.
최대값에 최대값을 제외한 나머지 용액의 합의 반을 더한 값이 합할 수 있는 최대값이며,
이를 나타내는 max += (max - sum) / 2 을 변형하여 (max + sum) / 2 을 정답으로써 출력한다.
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
long sum = 0;
int max = 0;
st = new StringTokenizer(br.readLine());
while (n-- > 0) {
int i = Integer.parseInt(st.nextToken());
sum += i;
max = Math.max(max, i);
}
bw.write(String.valueOf((max + sum) / 2d));
bw.flush();
}
}