문제

 

시험장마다 사람의 수를 갖고 먼저 총 감독관의 값을 뺀 후 count++

그 후 부감독/C를 한 후 반올림을 진행한다.

why? 부감독이 감시할 수 있는 사람이 5명이여도 남은 학생 수가 4명이면 1명은 더 필요하기 때문에


코드

#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int main() {
	int A, B, C;
	long long answer = 0;
    
	cin >> A;

	vector<int> room(A);

	for (int i = 0; i < A; i++) {
		cin >> room[i];
	}

	cin >> B >> C;

	for (int i = 0; i < A; i++) {
		int num = room[i];

		num -= B;
		answer++;

		if (num > 0) {
			answer += ceil((double)num / C);
		}
	}

	cout << answer;

	return 0;
}

 

간단한 구현 문제였지만 결과값에 대한 자료형 선언이 함정이였다..

 

 

틀린코드

더보기
#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int main() {
	int A, B, C;
	int answer = 0;

	cin >> A;

	vector<int> room(A);

	for (int i = 0; i < A; i++) {
		cin >> room[i];
	}

	cin >> B >> C;

	for (int i = 0; i < A; i++) {
		int num = room[i];

		num -= B;
		answer++;

		if (num > 0) {
			answer += ceil((double)num / C);
		}
	}

	cout << answer;

	return 0;
}

 

결과값이 엄청 크게 나올 수가 있는데 int형으로 값을 받아 오류가 났다.