-
[백준/BOJ] 13458번 시험 감독 (C++)알고리즘 문제풀이/백준 2021. 9. 12. 21:15
https://www.acmicpc.net/problem/13458
삼성 역량 테스트 기출 문제 : 그리디
시험장의 수 : 3 // 각각의 학생 수 : 3, 4, 5
총감독관이 감독할 수 있는 학생 수 : 2 // 부감독관이 감독할 수 있는 학생 수 : 2
라고 가정해보자.
문제에서 총감독관은 1명밖에 존재하지 않는다고 언급했으므로, 전체 학생수에서 총 감독관이 감독할 수 있는 학생의 수를 빼준다. 그러면 학생의 수는 다음과 같이 된다.
1, 2, 3
이제 부감독관의 수를 구해야 하는데, 학생의 수에 부감독관이 감독할 수 있는 학생 수를 나눠보자. 나눠 떨어지는 경우는 그 몫이 바로 부감독관의 수가 되고, 아닌 경우는 이에 +1만 더해주면된다.
마지막으로 총감독관의 수는 시험장의 수와 같으므로 총 감독관의 수를 구할 수 있게된다.
#include <iostream> #include <algorithm> using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); long long n, b, c, cnt = 0; cin >> n; vector<long long> v(n); for(int i = 0; i < n; i++) { cin >> v[i]; } cin >> b >> c; for(int i = 0; i < n; i++) { v[i] -= b; } for(int i = 0; i < n; i++) { if(v[i] > 0) { if(v[i] % c != 0) cnt += v[i] / c + 1; else cnt += v[i] / c; } } cout << n + cnt; }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 12845번 모두의 마블 (C++) (0) 2021.09.13 [백준/BOJ] 4796번 캠핑 (C++) (0) 2021.09.13 [백준/BOJ] 2217번 로프 (C++) (0) 2021.09.12 [백준/BOJ] 11399번 ATM (C++) (0) 2021.09.12 [백준/BOJ] 11047번 동전 0 (C++) (0) 2021.09.12