(C++) 13458번: 시험 감독

Standard

문제 링크: https://www.acmicpc.net/problem/13458

-총감독과 부감독이 있음. 총감독은 시험장 별로 1명만, 부감독은 여러명이 있어도 됨.
– 시험장 별로 응시자-총감독의 감독인원(B)을 해서 0 이하이면 감독관은 1명 필요함.
– 0 초과면 이후 부감독 감독인원 (C)로 나눔. 이 나눈 값에 나머지가 있는 경우 1을 더하면 필요한 부감독관 수가 됨.
– 최종값은 1 + 위에서 나눈 값 + 나머지가 있는 경우 1.

#include <iostream>

using namespace std;

int main() {
    cin.tie(NULL);
    ios::sync_with_stdio(false);

    // num of test sites
    int numN = 0;
    cin >> numN;

    // num of applicants for each test site
    int numApplicants[numN];
    for (int i = 0; i < numN; i++) 
        cin >> numApplicants[i];
    
    // capacity of proctor, vice proctor
    int numB = 0, numC = 0; 
    cin >> numB;
    cin >> numC;

    long long count = 0;
    for (int i = 0; i < numN; i++) {
        int local_count = 0;

        int tmp = numApplicants[i];
        
        // only proctor required
        tmp -= numB;
        if (tmp <= 0) {
            count++;
            continue;
        }

        local_count++; // one proctor
        
        // vice proctor required
        local_count += tmp / numC;
        if (tmp % numC != 0)
            local_count++;
        
        count += local_count;
    }

    cout << count;
}

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.