Algorithm/백준

[백준][13458번] 시험 감독

1일1코딩 2020. 4. 20. 23:31

https://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

결과

풀이과정

1. 최대 결과가 unsigned int의 최대값을 초과 할 수 있으므로 타입을 unsigned long long을 사용.

 

2. 각 시험장에 맞게 필요한 감독 수를 구하면 된다.

 

 

소스코드 (c++)

더보기
#include<stdio.h>
typedef unsigned long long ull;
int N, B, C;
int map[1000000];
int main()
{
	scanf("%d", &N);
	for (int i = 0; i < N; i++) {
		scanf("%d", &map[i]);
	}

	scanf("%d %d", &B, &C);
	ull answer = 0;
	for (int i = 0; i < N; i++) {
		int remain = map[i] - B;
		if (remain > 0) {
			answer += (remain / C) + 1;
			if (remain%C != 0) {
				answer++;
			}
		}
		else {
			answer++;
		}
	}
	printf("%llu\n", answer);
}