-
백준 1817(짐 챙기는 숌)전공/알고리즘 2020. 7. 31. 14:37
https://www.acmicpc.net/problem/1817
1817번: 짐 챙기는 숌
첫째 줄에 책의 개수 N과 박스에 넣을 수 있는 최대 무게 M이 주어진다. N은 0보다 크거나 같고 100,000보다 작거나 같은 정수 이고, M은 100,000보다 작거나 같은 자연수이다. 둘째 줄에 책의 무게가 ��
www.acmicpc.net
책이 쌓여있는데, 순서대로 밖에 책을 상자에 넣을 수 없으므로, 입력 순서와 반대로 책을 상자에 집어 넣는다.
만약에 용량을 초과하면 새로운 상자에 넣는다.
근데 여기서 넣을 책이 없는 경우도 있으므로 이 경우를 주의하자. 문제의 조건을 잘 확인하자
#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