공부/백준

[백준-13458] 시험 감독 - Java

빈v 2022. 11. 13. 20:12
728x90

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

 

백준 13458번 시험 감독 자바 풀이

난이도: 브론즈2

 

예제 1을 보면 각 방에 총 감독관 1명은 있어야 되며, 부감독은 없거나 1명보다 더 많아도 된다.

따라서 각 방의 인원이 총 감독관이 감시할 수 있는 수보다 적거나 같을 때는 1을 더해주고,

아닐 때는 부 감독관의 숫자를 정해줘야 한다.

만약 부감독관이 감시할 수 있는 수와 나누어 떨어질때는

각 방의 인원과 부감독관이 감시할 수 있는 수를나누어 몫을 더하면 되고,

아닐경우 몫에다 1을 더하면 된다.

 

코드

import java.util.*;
public class back13458 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n=scanner.nextInt();
        long sum=0;
        int []a= new int[n];
        for(int i=0;i<n;i++){
            a[i]=scanner.nextInt();
        }
        int b=scanner.nextInt();
        int c=scanner.nextInt();

        for(int i=0;i<n;i++){
            if(b>=a[i]){
                sum+=1;
            }else{
                sum+=1;
                a[i]-=b;
                if(a[i]%c==0){
                    sum+=a[i]/c;
                }else{
                    sum+=(a[i]/c)+1;
                }
            }
        }
        System.out.println(sum);
    }
}
728x90
반응형