305633: CF1066D. Boxes Packing
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Boxes Packing
题意翻译
## 题意描述: 你有$n$个物品,每个物品大小为$a_i$,$m$个盒子,每个盒子的容积为$k$。$Maksim$先生想把物品装入盒子中。对于每个物品,如果能被放入当前的盒子中,则放入当前盒子,否则换一个新的盒子放入。为了放入尽可能多数量的物品,$Maksim$先生会从左开始扔掉一部分物品。当剩下的物品全部能被放入盒子时,这种方案才算合法。现在,$Maksim$先生想知道,他最多能放入盒子多少物品(方案必须合法)。 ## 输入输出格式: ### 输入格式: 第一行,三个整数$n$,$m$,$k$,$(1≤n,m≤2 \times 10^5$,$ 1≤k≤10^9)$含义参见上文 第二行,$n$ 个数,第$i$表示$a_i$ ### 输出格式: 一行,一个数,表示$Maksim$先生能放入盒子里的最多的物品数量题目描述
Maksim has $ n $ objects and $ m $ boxes, each box has size exactly $ k $ . Objects are numbered from $ 1 $ to $ n $ in order from left to right, the size of the $ i $ -th object is $ a_i $ . Maksim wants to pack his objects into the boxes and he will pack objects by the following algorithm: he takes one of the empty boxes he has, goes from left to right through the objects, and if the $ i $ -th object fits in the current box (the remaining size of the box is greater than or equal to $ a_i $ ), he puts it in the box, and the remaining size of the box decreases by $ a_i $ . Otherwise he takes the new empty box and continues the process above. If he has no empty boxes and there is at least one object not in some box then Maksim cannot pack the chosen set of objects. Maksim wants to know the maximum number of objects he can pack by the algorithm above. To reach this target, he will throw out the leftmost object from the set until the remaining set of objects can be packed in boxes he has. Your task is to say the maximum number of objects Maksim can pack in boxes he has. Each time when Maksim tries to pack the objects into the boxes, he will make empty all the boxes he has before do it (and the relative order of the remaining set of objects will not change).输入输出格式
输入格式
The first line of the input contains three integers $ n $ , $ m $ , $ k $ ( $ 1 \le n, m \le 2 \cdot 10^5 $ , $ 1 \le k \le 10^9 $ ) — the number of objects, the number of boxes and the size of each box. The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le k $ ), where $ a_i $ is the size of the $ i $ -th object.
输出格式
Print the maximum number of objects Maksim can pack using the algorithm described in the problem statement.
输入输出样例
输入样例 #1
5 2 6
5 2 1 4 2
输出样例 #1
4
输入样例 #2
5 1 4
4 2 3 4 1
输出样例 #2
1
输入样例 #3
5 3 3
1 2 3 1 1
输出样例 #3
5