본문 바로가기

BOJ

백준 13458 / 시험 감독



정답률이 왜 낮지라는 생각이 들만큼 쉽게 풀었다.


우선 시험자에 있는 응시자의 수에서 B를 빼고


0 이하가 되면 PASS


0 초과가 되면 


그 수를 C로 나눈 몫과 나머지를 구한다.


나머지가 0이면 답에 몫만 더해주고


나머지가 1 이상이면 몫+1을 답에 더해준다.




이때 답은 굉장히 높은 수(int가 못담는)가 나올 수 있기 때문에


long long으로 담아준다.






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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<stdio.h>
#include<queue>
#include<vector>
#include<iostream>
 
using namespace std;
 
vector<int>room;
 
int main() {
 
    //freopen("Text.txt", "r", stdin);
 
    int n;
    long long ans=0;
    scanf("%d"&n);
    
    for (int i = 0; i < n; i++) {
        int tmp;
        scanf("%d"&tmp);
        room.push_back(tmp);
    }
 
    int one, two;
 
    scanf("%d %d"&one, &two);
    
    for (int i = 0; i < n; i++) {
        int num;
        num = room[i];
        room[i] -= one;
        ans++;
        
        if (room[i] > 0) {
            int a;
            int b;
 
            a=room[i] / two;            
            b = room[i] % two;
 
            if (b != 0) {
                a++;
            }
            ans += a;
        }
 
    }
 
    cout << ans << endl;
}
cs


'BOJ' 카테고리의 다른 글

백준 2933 / 미네랄  (1) 2019.02.21
백준 2422 / 한윤정이 이탈리아에 가서 아이스크림을 사먹는데  (0) 2019.02.20
백준 14890 / 경사로  (0) 2019.02.19
백준 14503 / 로봇 청소기  (0) 2019.02.19
백준 3190 / 뱀  (0) 2019.02.18