View

반응형

 

알고리즘 분류: 수학, 사칙연산

문제 링크: 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

부감독관은 시험장 사람 수에서 B를 뺀 값에서 C를 나눈 값이다.

즉 (arr[i] - b) / c 가 필요한 부감독관의 수인데,

arr[i] - b 가 c보다 더 작은 경우까지 생각해야 하기 때문에 +1을 해주어야 한다.

 

 

 

【 코드 】

 

#include<iostream>
#include<vector>
using namespace std;

vector<int>arr;
int main(void) {
	int n, b, c;
	long long result = 0;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int num;
		cin >> num;
		arr.push_back(num);
	}
	cin >> b >> c;
	for (int i = 0; i < n; i++) {
		if (arr[i] <= b) {
			result++;
		}
		else {
			result += (arr[i] - b) / c + 1;
			if ((arr[i] - b) % c != 0) {
				result++;
			}
		}
	}
	cout << result;
	return 0;
}

 

 

 

 

728x90
반응형
Share Link
reply
250x250
반응형
«   2024/10   »
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 31