快乐指数
时间限制:1秒 内存限制:256M
【问题描述】
小H 正处在“需要快乐”的年龄,但小升初的压力越来越大,他的快乐指数在不断地降低,这需要好好地吃鸡一下!小H 从小喜欢吃玉米糖,因为这能给他带来快乐。于是大H 送给他 \(N\) 块玉米糖,并要求他制定一个吃玉米糖的计划,使得在接下来的 \(M\) 天里,他能够尽量地快乐学习。
小H 的快乐指数可以用一个整数来衡量,一开始的时候是 0,当他每天上学时,其快乐指数会减半(奇数时向下取整)。小H 把他的玉米糖按照收到的时间排序,并坚持按照这个顺序来吃玉米糖。当他吃掉第 \(i\) 块玉米糖的时候,他的快乐指数会增加 \(A_i\)。每天可以吃任意多块玉米糖,如何帮助小H 合理安排,使得 \(M\) 天内他在校学习期间的最小快乐指数最大呢?
【输入格式】
输入的第 1 行是两个用空格分开的整数:\(N\) 和 \(M\),他们的意义如题目描述;接下来第 2 到第 \(N+1\) 行,每行一个整数 \(A_i\),表示第 \(i\) 块玉米糖提供的快乐指数 \(A_i (1≤A_i≤1000000)\)。
【输出格式】
第 1 行输出一个整数,表示小H 在接下来 \(M\) 天内的最小快乐指数的最大值;接下来第 \(2\) 到第 \(N+1\) 行,每行有一个整数,其中第 \(i+1\) 行的整数代表小H 应该在哪一天吃掉第 \(i\) 块玉米糖。如果有多种吃法,则输出按照词典序排序后最靠后的方案。
【输入输出样例】
Input
5 5
10
40
13
22
7
Output
24
1
1
3
4
5
【输入输出样例解释】
样例输入一共有 5 块玉米糖,小H 打算在 5 天时间内将它们吃完,每块玉米糖提供的快乐指数分别为 10,40,13,22,7。则最好的方案如下:
【数据限制】
\(100\%\) 的数据满足,\(1≤N,D≤50000\)。
【来源】
Mr.he**