题目描述
快递站要把 箱货按录单顺序运走,重量依次为 ,计划恰好用 天运完,一箱货不可拆分、不可调换次序,每天装载的总重不能超过上限 。请求出能按时运完的最小整数上限 ,并给出达成 的一种方案。方案按如下规则唯一确定:先从左往右扫描,能装进当前天就装入(装入后日总重不超过 ),装不下就新开一天;若开出的天数 少于 ,则反复执行:找到最前面一件数不少于 的天,把该天最后一件货拆出来另成一天并紧跟该天之后,直到恰好 天为止。货物相对顺序保持不变, 保证该过程总能在每天非空的前提下完成。
输出两行:第一行为 ;第二行恰好 个整数,为方案中按天顺序的每日装载总重。
输入格式
第一行两个整数 。
第二行 个整数 ,按运输顺序给出。
输出格式
第一行一个整数 ,即最小可行上限。
第二行 个整数,以空格分隔,为每日装载总重。
样例
输入
5 3 4 2 5 1 3
输出
6 6 6 3
样例解释
试 :第一天装 ,再装 到 超出;第二天装 ,再装 到 超出;第三天装 ,再装 到 超出;第四天装 ,共 天,超过 天,不可行。试 :第一天 ,第二天 ,第三天 ,恰好 天运完。故 ,每日总重依次为 。
数据范围
- ;
- ;
- 总重最大约 ,搜索上界与每日总重需用 位整数。