[ 다먹살 ]/- Coding

[백준] 13458 시험 감독

엉망으로살기 2021. 11. 22. 14:20
반응형

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

 

문제 자체에 대한 해결방법은 매우 쉬운 문제였다. 하지만 재출할 때마다 계속 틀렸다고 나와서 구글에서 정답자들의 풀이를 좀 찾아봤는데 문제는 자료형이었다. 감독관의 최대 크기가 int형 자료 범위를 넘어갈 수도 있기 때문에 long으로 cnt변수를 바꿔 선언해주니 금방 해결할 수 있었다.


문제 및 입출력


예제


코드

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long cnt = 0;
        int[] test = new int[n];
        
        for(int i=0; i<n; i++)
        {
            test[i] = sc.nextInt();
        }
        
        int b = sc.nextInt();
        int c = sc.nextInt();
        
        for(int i=0; i<n; i++)
        {
            // 총감독관은 무조건 1명 필요
            test[i] -= b;
            cnt++;
            
            // b명을 빼고도 나머지 인원이 남아있을 때는 부감독관에 c명만큼 배정
            if(test[i]>=0)
            {
                long temp = test[i]/c;
                cnt += temp;
                test[i] -= c*temp;
            
                if(test[i]!=0)
                {
                    cnt++;
                }
            }
        }
        
        System.out.println(cnt);
        sc.close();
    }
}

 

반응형