문제 풀이 및 개발 공간

[백준] 5545번 최고의 피자 문제! (silver 3 본문

백준공부/java

[백준] 5545번 최고의 피자 문제! (silver 3

gomduri43 2022. 8. 30. 23:40

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
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));
		int n=Integer.parseInt(br.readLine());
		StringTokenizer st=new StringTokenizer(br.readLine());
		int price=Integer.parseInt(st.nextToken()); //초기 도우값에서 시작이므로 price=a
		int b=Integer.parseInt(st.nextToken());
		double sumCal=Double.parseDouble(br.readLine());//초기 도우칼로리에서 시작이므로 sumCal=c로 시작
		
		ArrayList<Integer> arr=new ArrayList<>();
		for(int i=0; i<n; i++) {
			arr.add(Integer.parseInt(br.readLine()));
		}
		Collections.sort(arr);
		for(int i=arr.size()-1; i>=0; i--) {
			if(sumCal/price< (sumCal+arr.get(i))/(price+b)) {
				sumCal+=arr.get(i);
				price+=b;
			}
		}
		bw.write((int)Math.floor(sumCal/price)+"");
		bw.flush();
		bw.close();
	}
}