반응형
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. 총 감독관은 1명만 있어야하므로 무조건 추가되어야 합니다.
2. 부 감독관은 몇 명이 있는지 상관없으므로 (a[i] - b) / c만큼 있으면 됩니다.
* (a[i] - b) % c가 나머지가 있으면(양수면) 부 감독관을 한 명 더 배치해야합니다.
* 총, 부 감독관이 감시가능한 학생 수 가 각각 1명씩일 때 a[i]가 모두 100만이라면 int범위를 초과할 수 있습니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll n, a[1000001], b, c, ans;
int main(){
cin >> n;
for(int i = 0 ; i < n; i++) cin >> a[i];
cin >> b >> c;
for(int i = 0; i < n; i++){
ans += 1;
a[i] -= b;
if(a[i] < 0) continue;
if(a[i] % c) ans += a[i] / c + 1;
else ans += a[i] / c;
}
cout << ans << '\n';
}
'Algorithm > Math' 카테고리의 다른 글
(C++) - 백준(BOJ) 1173번 : 운동 (0) | 2021.08.18 |
---|---|
(C++) - 백준(BOJ) 1284번 : 집 주소 (0) | 2021.08.15 |
(C++) - 백준(BOJ) 17827번 : 달팽이 리스트 (2) | 2021.07.26 |
(C++) - 백준(BOJ) 21739번 : 펭귄 네비게이터 (0) | 2021.07.26 |
(C++) - 백준(BOJ) 1837번 : 암호제작 (0) | 2021.07.23 |