Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

[BOJ 13458] 시험 감독 본문

Study/Problem Solving

[BOJ 13458] 시험 감독

monitor 2023. 3. 30. 00:06

확실히 문제 자체는 쉬웠으나 자료형 체크가 필요했던 문제이다.

 

B 감독관이 볼 수 있는 학생 수 1, C 감독관이 볼 수 있는 학생 수 1 이고 나머지 시험장의 갯수가 10만개, 응시자 수 10만개면

 

100000*100000을 보아야 하는데 이때의 볼 수 있는 최소한의 감독관의 수는 어마어마하게 큰 수가 된다.

 

따라서 ans를 넣을 변수를 long으로 설정하자

 

 

package DFS;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * BOJ_13458
 */
public class BOJ_13458 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        List<Integer> A = new ArrayList<>();
        for(int i = 0; i < N; i++){
            A.add(sc.nextInt());
        }
        int B = sc.nextInt();
        int C = sc.nextInt();
        int temp = 0;
        long ans = 0;
        for(int i = 0; i < N; i++){
            temp=A.get(i)-B;
            ans++;
            if(temp <= 0){
                continue;
            }else{
                if(temp/C > 0){
                    ans += temp/C;
                    if(temp%C == 0){
                        continue;
                    }else{
                        ans++;
                    }
                }else{
                    ans++;
                }
            }
        }
        System.out.println(ans);
    }
    
}

 

 

문제 링크 : 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

 

 

'Study > Problem Solving' 카테고리의 다른 글

[PROGRAMMERS] 숫자 변환하기  (0) 2023.05.01
[PROGRAMMERS] 요격 시스템  (0) 2023.04.30
[PROGRAMMERS]연속된 부분 수열의 합  (0) 2023.04.14
[BOJ 14501] 퇴사  (0) 2023.03.29
[Programmers] 뒤에 있는 큰 수 찾기  (0) 2023.02.07