250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Chunk
- Effective Java
- nodejs
- 퀵소트
- MySQL
- spring
- expire_logs_days
- log4j2
- mysql 5.5
- git
- try catch
- JavaScript
- migration
- upgrade
- regex
- java
- npm
- 정규표현식
- Spring Batch
- Regular expression
- REACT
- Effective Java 3/e
- Express
- spring cloud
- eslint
- current_date
- REACTJS
- Node
- log_bin
- update
Archives
- Today
- Total
내 세상
[Algorithm] 백준 13458번 시험 감독 본문
728x90
반응형
백준 13458번 시험 감독
https://www.acmicpc.net/problem/13458
우선 각 시험관 별 총 감독자를 1명을 넣음.
즉, 코드에서는 각 시험관에 총 감독자수가 커버하는 인원(B)를 감소시켜줌.
그리고 남은 인원이 0이 아니라면, 부감독자가 몇명 필요한지 계산해야함.
남은인원을 부감독자가 커버하는 인원(C)로 나눴을 때 나누어 떨어지면, 그 몫 만큼 더해주고
조금 남는다면 1을 추가로 더해주면 됨. 한명이 더 필요하기 때문에
그리고 추가로 값이 int를 넘어가기 때문에 long long int 를 사용해주어야 함.
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 32 | #include <iostream> #include <stdio.h> #include <algorithm> #include <vector> #define ll long long int using namespace std; int N, B, C; ll people[1000001]; ll answer; int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> people[i]; } cin >> B >> C; answer = 0; for (int i = 0; i < N; i++) { people[i] -= B; answer += 1; if (people[i] > 0){ if (people[i] % C == 0) answer -= 1; answer += (people[i] / C) + 1; } } cout << answer; return 0; } | cs |
728x90
반응형
'Coding > Algorithms' 카테고리의 다른 글
[Algorithm] 백준 14889번 스타트와 링크 (0) | 2019.03.17 |
---|---|
[Algorithm] 백준 14888번 연산자 끼워넣기 (0) | 2019.03.17 |
[Algorithm] 백준 14501번 퇴사 (1) | 2019.03.17 |
[Algorithm] 백준 15686번 치킨 배달 (0) | 2019.03.17 |
[Algorithm] 백준 5373번 큐빙 (0) | 2019.03.10 |