알고리즘/삼성SW역량테스트기출

[백준 13458번 - 시험 감독] C++ 풀이

Ompang 2021. 9. 17. 02:07
728x90
반응형

백준 13458번.

간단한 식을 세워 구할 수 있는 문제였다.

 

각 시험장을 돌면서, 최솟값은 1. 응시자의 수에서 1(=총 감독관)을 뺀 수를 C 로 나눈 만큼 더해주고, 나머지가 있다면 1을 더 더해주면 된다. B, C가 1이고, N이 백만, Ai가 각 백만 응시자수가 있다면, 정답이 약 백만*백만 = 일조 이므로, long long 타입으로 선언해줬다.

 

완성 코드

#include <stdio.h>
#include <vector>

using namespace std;

int main() {
	int n, b, c;
	vector<int> a;

	scanf("%d", &n);
	for(int i = 0; i < n; ++i) {
		int tmp;
		scanf("%d", &tmp);
		a.push_back(tmp);
	}
	scanf("%d %d", &b, &c);

	long long ans = 0;
	for(int i = 0; i < a.size(); ++i) {
		int k = 1;
		if (a[i] > b) {
			k += (a[i] - b) / c;
			if ((a[i] - b) % c > 0)
				k += 1;
		}
		ans += k;
	}
	printf("%lld\n", ans);
	return 0;
}

 

728x90