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 |
Tags
- 백트래킹
- dynamic programming
- BOJ
- 구현
- Algorithm
- 소수
- koitp
- 알고리즘
- 해커랭크
- 다이나믹 프로그래밍
- 잠실
- 삼성 기출
- hackerrank
- BFS
- 브루트포스
- 스택
- C++
- 삼성 SDS 대학생 알고리즘 특강
- PS
- 백준
- 완전탐색
- SWEA
- 그리디
- 동적 계획법
- 시뮬레이션
- 맛집
- 에라토스테네스의 체
- sw expert academy
- DP
- dfs
Archives
- Today
- Total
펭로그
[C++] Codeforces Round #514 (Div. 2) - A. Cashier 본문
문제링크 : http://codeforces.com/contest/1059
A. Cashier
단순 구현문제로 중간에 비는 시간에 담배탐을 할 수 있는 시간이 있는지 체크하여 누적하고 업무가 끝나고 남은 시간도 담배탐을 할 수 있는 만큼 더해준다.
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 33 34 35 36 37 | // Codeforces Round #514 (Div. 2) // A. Cahier #include <iostream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); freopen("../input.txt", "r", stdin); int num; // 고객수 int time; // 일하는 시간 int smoke; // 담배탐 시간 cin >> num >> time >> smoke; int result = 0; int prev = 0; // 이전 고객 시간 int come = 0; // 고객이 오는 시간 int service = 0; // 상담 시간 for (int i = 0; i < num; i++) { cin >> come >> service; int brktime = come - prev; if (brktime >= smoke) { result += brktime / smoke; } prev = come + service; } int remain = time - prev; if(remain >= smoke) result += remain / smoke; cout << result; return 0; } | cs |
'Study > PS(Algorithm)' 카테고리의 다른 글
[C++] 백준 BOJ 2583 영역 구하기 (0) | 2018.10.06 |
---|---|
[C++] Codeforces Round #514 (Div. 2) - C. Sequence Transformation (0) | 2018.10.06 |
[C++] 백준 BOJ 13458 시험 감독 (0) | 2018.10.05 |
[C++] 백준 BOJ 1991 트리 순회 (0) | 2018.10.03 |
[C++] 백준 BOJ 8916 이진 검색 트리 (0) | 2018.10.03 |
Comments