-
백준 1817(짐 챙기는 숌)전공/알고리즘 2020. 7. 31. 14:37
https://www.acmicpc.net/problem/1817
책이 쌓여있는데, 순서대로 밖에 책을 상자에 넣을 수 없으므로, 입력 순서와 반대로 책을 상자에 집어 넣는다.
만약에 용량을 초과하면 새로운 상자에 넣는다.
근데 여기서 넣을 책이 없는 경우도 있으므로 이 경우를 주의하자. 문제의 조건을 잘 확인하자
#include<iostream> using namespace std; #define MAX 100001 int N, M, cnt=1, sum; int book[MAX]; int main() { cin >> N >> M; if (N == 0) { cout << 0 << "\n"; return 0; } for (int i = 0; i < N; i++) { cin >> book[i]; } for (int i = N - 1; i >= 0; i--) { sum += book[i]; if (sum > M) { cnt++; sum = book[i]; } } cout << cnt << "\n"; }
'전공 > 알고리즘' 카테고리의 다른 글
백준 2812(크게 만들기) (0) 2020.08.05 백준 11092(Safe Passage) (0) 2020.08.03 백준 9576(책 나눠주기) (0) 2020.07.31 백준 19539(사과나무) (1) 2020.07.30 백준 1700(멀티탭 스케줄링) (0) 2020.07.29