13458 Samsung sw test
알고리즘
1
2
3
1. 오직 1명은 무조건 1명 있어야한다는 말
2. 총감독관이 감시할 수 있는 응시자 수만큼 빼고, 감독관 수 1명 늘린다음에, 넣어야하는 부감독관 수를 더함. -> 이를 모든 시험장에 적용
3. 이때 총 필요한 감독관을 저장하는 변수는 long long으로 해야함(응시자 수 100만명, 시험장 수 100만개 이므로)
코드
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
#include <iostream>
#define MAX_CLASS 1000000
using namespace std;
int testClass[MAX_CLASS];
int numOfClass;
int chief;
int second;
int main() {
cin >> numOfClass;
for (int i = 0; i < numOfClass; i++)
cin >> testClass[i];
cin >> chief >> second;
long long need = numOfClass;
for (int i = 0; i < numOfClass; i++) {
testClass[i] -= chief;
if (testClass[i] <= 0)
continue;
int temp = testClass[i] / second;
need += temp;
testClass[i] -= temp * second;
need += (testClass[i] > 0 ? 1 : 0);
}
cout << need;
}