백준[13458] - 시험 감독

문제

백준 13458 문제 보기

접근 방법

비교적 간단한 문제이다. 일단 모든 방에 총감독이 있어야 한다. 따라서 모든 방에 총감독이 배치되고 총감독이 관리할 수 있는 인원을 뺀 상태에서 시작한다. 관리해야할 인원이 더 있다면 그 때부터 부감독관을 넣는다.
여기서 주의해야하는 점은 정답 출력을 int로 하다보면 오버플로우가 나 제대로된 정답을 출력할수가 없다.

코드

#include <iostream>
using namespace std;
int N;
int studentNum[1000001];
int captain;
int vice;
int main() {
cin >> N;
for(int i = 1; i <= N; i ++) {
cin >> studentNum[i];
}
cin >> captain >> vice;
long long ans = N;
for(int i = 1; i <= N; i ++) {
studentNum[i] = studentNum[i] - captain;
int students = studentNum[i];
int temp;
if(students > 0) {
if(students % vice == 0) {
temp = students / vice;
} else {
temp = (students / vice) + 1;
}
ans += temp;
}
}
cout << ans;
return 0;
}
Share