Study hard

(c++)백준 13458번: 시험 감독 본문

백준/여러가지 문제들

(c++)백준 13458번: 시험 감독

Nimgnoej 2020. 10. 16. 22:42

www.acmicpc.net/problem/13458

 

13458번: 시험 감독

첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)

www.acmicpc.net

[풀이]

간단한 수학문제였다.

총감독관은 시험장 수만큼 있으므로 각 시험장에서 B만큼씩 빼고 부감독관의 최소 수를 구하면 된다.

※답이 int범위를 초과할 수 있으므로 long long자료형을 사용해야한다.

 

#include <iostream>
using namespace std;

const int Max = 1000000;
int N;
long long A[Max];
long long B, C;

void solution() {
	cin >> N;
	long long cnt = N;//총 감독관 수=시험장 수
	for (int i = 0; i < N; i++) {
		cin >> A[i];
	}
	cin >> B >> C;
	for (int i = 0; i < N; i++) {
		A[i] -= B;
		if (A[i] > 0) {
			if (A[i] % C != 0) {
				cnt += A[i] / C + 1;
			}
			else
				cnt += A[i] / C;
		}
	}
	cout << cnt << '\n';
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	solution();
	return 0;
}