Notice
Recent Posts
Recent Comments
«   2024/11   »
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 30
Archives
Today
Total
관리 메뉴

코린이 탈출기

[백준 13458] 시험 감독 본문

문제 풀이

[백준 13458] 시험 감독

명란파스타 2020. 7. 29. 19:13

문제 바로가기

 

13458번: 시험 감독

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

www.acmicpc.net

문제는 매우 쉽지만 최종적인 값이 int형에 저장이 될 지 생각을 해봐야 한다.

 

시험장의 개수가 최대 1,000,000개이고 응시자 수의 최대가 1,000,000명이므로 감독관의 수는 int형보다 더 큰 자료형에 담아주어야 한다.

long long 자료형을 사용했다.

 

#include <iostream>
#include <algorithm>

using namespace std;

int people[1000001];
int N, B, C;
long long supervisor, sub_supervisor;

int main() {
	cin >> N;
	for (int i = 1; i <= N; i++)
	{
		cin >> people[i];
	}

	cin >> B >> C;

	for (int i = 1; i <= N; i++)
	{
		supervisor++;
		if (people[i] > B)
			people[i] -= B;
		else
			people[i] = 0;
		if (people[i] % C == 0)
			sub_supervisor += people[i] / C;
		else
			sub_supervisor += people[i] / C + 1;
	}

	cout << supervisor + sub_supervisor << endl;
	
	return 0;
}