[백준] 13458번 시험 감독 (C++, 삼성 기출)

0

swea

목록 보기
3/10

https://www.acmicpc.net/problem/13458

다른 삼성 문제보다 난이도가 낮은 편이였다.
그냥 구현으로 풀면 되는데 주의해야할 점은 정답의 자료형을 int로 할 경우에는 초과해서 틀릴 수 있으니 long long으로 구현해주면 된다.

  1. 총 감독관의 감시자 수를 응시자 수에서 빼주고 정답에 1을 더해준다.
  2. 이후 응시자 수를 부감독관의 감시자수로 나눴을 때, 나눠 떨어지면 을, 아니면 몫 + 1을 더해주면 된다.
#include <iostream>
#include <vector>
using namespace std;

int n, b, c;

int main() {
	cin >> n;
	vector<int> v(n);
	for (int i = 0; i < n; i++)
		cin >> v[i];
	cin >> b >> c;
	long long ans = 0;
	for (int i = 0; i < n; i++) {
		v[i] -= b;
		ans++;
		if (v[i] > 0) {
			if (v[i] % c == 0)
				ans += v[i] / c;
			else
				ans += (v[i] / c) + 1;
		}
	}
	cout << ans;
}

0개의 댓글