BOJ 13458 : 시험 감독 - C++

김정욱·2021년 3월 30일
0

Algorithm - 문제

목록 보기
190/249

시험 감독

코드

#include <cstdio>
#include <vector>
#include <queue>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <set>
#include <deque>
#define ll long long
#define ull unsigned long long
using namespace std;
// 10:01 ~
ll N, B, C;
vector<ll> num;
ll ans;
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin >> N;
    ans = N;
    for(int i=0;i<N;i++)
    {
        ll a;
        cin >> a;
        num.push_back(a);
    }
    cin >> B >> C;
    for(int i=0;i<num.size();i++)
    {
        /* 음수일 수 있기 때문에 long long자료형을 써야하며,
           값을 뺀 후 양수일 경우에만 나누어서 값을 검증해야 한다 */
        num[i] -= B;
        if(num[i] > 0) {
            ans += num[i]/C;
            if((num[i])%C > 0) ans++;
        }
    }
    cout << ans;
    return 0;
}
  • 느낀 점
    • 음수일 수 있기 때문에 unsigned long long이 아닌, long long 자료형을 써야함
    • 음수값을 나눌 수 있기 때문에 값을 뺀 후 양수임을 검증하고 나누기를 진행해야 한다
profile
Developer & PhotoGrapher

0개의 댓글