문제
https://www.acmicpc.net/problem/13458
필요한 감독관 수의 최솟값을 구하는 문제였다.
문제 풀이
각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다.
이 문구에서 나는 총감독관은 1명까지 있을 수 있으니 0명도 괜찮다고 이해하고 풀어서 예제 케이스가 다른 값이 나왔다. 예제 케이스를 풀기 위해서는 총감독관은 항상 1명씩 있어야 한다. 해당하는 예제 케이스가 있어서 무엇이 문제인지 알 수 있었는데 만약 예제 케이스가 없었다면 어디가 잘못된 것인지 찾지 못했을 것 같다. 문제에 확실하게 0명이 안된다고 나와있지 않아서..
#define _CRT_SECURE_NO_WARNINGS
#include <vector>
#include<iostream>
#include <queue>
#include <string>
#include <algorithm>
#include <stack>
#include <stdlib.h>
#include<stdio.h>
using namespace std;
int A[1000001];
int calSupervisionNum(int A, int B, int C) {
if ((A - B) <= 0) return 1;
else {
if ((A - B) % C == 0) {
return 1 + (A - B) / C;
}
else {
return 2 + (A - B) / C;
}
}
}
int main() {
int N;
int B, C;
long long cnt = 0;
scanf("%d" , &N);
for (int i = 0; i < N; i++) {
scanf("%d", &A[i]);
}
scanf("%d %d", &B, &C);
for (int i = 0; i < N; i++) {
cnt += calSupervisionNum(A[i], B, C);
}
printf("%lld", cnt);
return 0;
}
/*
3
3 4 5
9 9
*/