[BOJ13458] 시험 감독
[BOJ13458] 시험 감독
문제 설명
- 시험장 개수가 주어지고, 각 시험장마다 시험을 보는 학생 수가 주어진다.
- 그 후 총 감독관이 감독할 수 있는 학생 수와 부 감독관이 감독할 수 있는 학생 수가 주어진다.
- 이 때, 총 감독관은 시험장 하나 당 꼭 한명이 들어가야 하고, 부 감독관은 여러명이 들어갈 수 있다.
- 모든 학생을 감독하기 위해 필요한 감독관의 최소 수를 출력하는 문제이다.
코드 리뷰
- 단순 수학 문제이다.
- 시험장 하나 당 총 감독관 한명씩 배치한 후, 남은 학생수에 대해 부 감독관이 감독할 수 있는 학생수로 나누어 나머지가 0일 경우 그 몫만큼 감독 수에 더해주고, 나머지가 0이 아닐 경우는 한명 더 추가해서 더해준다.
#include <iostream>
using namespace std;
int N, c, s;
int A[1000002];
int main() {
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> N;
for (int a = 1; a <= N; a++) {
cin >> A[a];
}
cin >> c >> s;
long long cnt = N;
for (int a = 1; a <= N; a++) {
int tmp = 0;
A[a] -= c;
if (A[a] > 0) {
if (A[a] % s == 0) tmp = A[a] / s;
else tmp = A[a] / s + 1;
cnt += tmp;
}
}
cout << cnt << '\n';
return 0;
}
댓글남기기