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

 

13458번: 시험 감독

첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)

www.acmicpc.net

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

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		long answer = 0;
		int N = Integer.parseInt(br.readLine());  // 시험장의 개수

		StringTokenizer st = new StringTokenizer(br.readLine());
		int[] A = new int[N];
		for (int i = 0; i < N; i++) {
			A[i] = Integer.parseInt(st.nextToken());  // 각 시험장에 있는 응시자의 수
		}

		st = new StringTokenizer(br.readLine());
		int B = Integer.parseInt(st.nextToken()); // 총감독관이 한 시험장에서 감시할 수 있는 응시자의 수
		int C = Integer.parseInt(st.nextToken()); // 부감독관이 한 시험장에서 감시할 수 있는 응시자의 수

		for (int i = 0; i < N; i++) {
	         	// 총감독관 무조건 한 명 들어감
			int n = A[i] - B;
			answer++;

			if (n > 0) {
				answer += n / C;
				
             			 // 나머지가 있을 경우 부감독관 한 명 더 필요함
				if(n % C != 0) {
					answer++;
				}
			}
		}
		System.out.println(answer);
	}
}

+ Recent posts