[BOJ 13458] 시험 감독
업데이트:
문제
- BOJ 13458
- 문제의 저작권은 Baekjoon Online Judge에 있습니다.
접근방식
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
//시험 감독
public class Main {
static int N; //시험장 수
static int[] arr; //시험장
static int B, C;
static StringTokenizer st;
static long Ans; //감독관 최소 수
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
arr = new int[N];
st = new StringTokenizer(br.readLine());
for(int i=0; i<N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
} //input 각 시험장 응시자 수
st = new StringTokenizer(br.readLine());
B = Integer.parseInt(st.nextToken());
C = Integer.parseInt(st.nextToken());
for(int i=0; i<N; i++) {
//총 감독관이 맡은 수만큼 빼기
if(arr[i]<B) arr[i]=0;
else arr[i] -= B;
Ans++;
}
Arrays.sort(arr); //오름차순
for(int i=N-1; i>=0; i--) { //남아있는 시험장부터 체크
if(arr[i] == 0) break;
if(arr[i] % C == 0) Ans += arr[i] / C;
else Ans += arr[i]/C + 1;
arr[i] = 0; //비워줌
}
System.out.println(Ans);
}
}