使用模拟算法。
按顺序处理每个水果,维护当前榨汁机内水果总体积 sum。
对于每个水果体积 x:
如果 sum+x≤m,说明可以放入榨汁机,令 sum=sum+x。
AK机有 n 个水果,体积为 {a1,a2,…,an}。AK机按下标从小到大依次尝试将水果放入榨汁机;榨汁机一次榨汁前,机内可承载的水果总体积至多为 m。
当准备放入的下一个水果使当前机内容量之和超过 m 时,AK机将这个“放不下”的水果直接给贪吃鬼吃掉;随后若榨汁机里已有水果(即机内总体积 >0),则立刻启动一次榨汁(记一次启动),将机内水果清空;继续从下一个水果开始尝试放入。
所有水果都处理完后,若榨汁机内仍有水果(机内总体积 >0),还需要再启动一次榨汁。请计算榨汁机启动的总次数,以及贪吃鬼吃掉的水果总体积。
第一行包含两个整数 n,m(1≤n≤105,1≤m≤109)。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109)。
输出两个整数,分别表示榨汁机启动的总次数和贪吃鬼吃掉的水果总体积,用空格分隔。
输入
5 10
3 4 5 6 2
输出
2 5
本题属于以下题库,请选择所需题库进行购买
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.