알고리즘과 자료구조/백준

BOJ 13458 시험 감독

bggbr 2020. 11. 1. 22:29

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

문제 해결 전략

 

소스 코드

#include <iostream>
#include <vector>
using namespace std;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    long long N, tot = 0;
    int b, c;
    cin >> N;
    vector<pair<int, bool>> v;
    v.resize(1000001);
    for(int i = 0; i < N; i++){
        cin >> v[i].first;
        v[i].second = false;
    }
    cin >> b >> c;
    for(int i = 0; i < N; i++){
        if(v[i].first > b){
            v[i].first -= b;
            tot++;
        }else{
            v[i].first -= b;
            v[i].second = true;
            tot++;
        }
        if(v[i].first >= c && v[i].second == 0){
            if(v[i].first % c == 0){
                tot += v[i].first / c;
            }else{
                tot += (v[i].first / c) + 1;
            }
        }else if(v[i].first < c && v[i].second == 0){
            tot++;
        }
    }
    cout << tot;
}

'알고리즘과 자료구조 > 백준' 카테고리의 다른 글

BOJ 14891 톱니바퀴  (0) 2020.11.01
BOJ 14888 연산자 끼워넣기  (0) 2020.11.01
BOJ 2018 수들의 합 5  (0) 2020.10.26
BOJ 11005 진법 변환 2  (0) 2020.10.22
BOJ 14889 스타트와 링크  (0) 2020.10.20