BOJ 13458.시험 감독

입력

1: (시험장 수)
2: (응시자 수)
3: (총감독관이 감시할 수 있는 응시자 수) (부감독관이 감시할 수 있는 응시자 수)

주의사항

1) 최소 감독관의 수의 범위 유의
: int로 충분한가?

구현방식

1) 총감독관 먼저 응시자 수에서 감산 → 출력할 인자 += 1
2) 남은 응시자 수를 부감독관이 감시할 수 있는 응시자 수 C로 나눔
→ 출력할 인자 += 위 값
3) 위 값에 C를 곱해서 응시자 수에서 감산(int 변수형 고려)
4) 남은 응시자 수가 0 초과일 경우, 출력할 인자 += 1

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>

using namespace std;

int main(void) {
	int N, B, C;
	vector <int> A;
	long long min = 0;
	int tmp = 0;

	scanf("%d", &N);

	for (int i = 0; i < N; i++) {
		scanf("%d", &tmp);
		A.push_back(tmp);
	}

	scanf("%d %d", &B, &C);

	for (int i = 0; i < N;i++) {
		A[i] -= B;
		min += 1;

		if (A[i] > 0) {
			tmp = A[i] / C;
			A[i] -= (tmp * C);
			min += tmp;
			if (A[i] > 0) {
				min += 1;
				A[i] = 0;
			}
		}
	}	
	printf("%ld\n", min);
}

좋은 웹페이지 즐겨찾기