#p197. 习题4.4.9 烤鱼

习题4.4.9 烤鱼

题目描述

小x掉到了一个jzyz的窨井里,这口井很深,没有人能听到小x的呼救,悲催的小x必须要等D天后,学校确认他失踪才会大规模寻找他,而这难熬的D天将是小x这一生最难过的D天。

不过幸运的是小x在井里得到了N (1 <= N <= 50,000) 条鱼,编号1..N.他计划在接下来的D (1 <= D <= 50,000)天按鱼的编号从小到大逐天吃,当然,小x可以一天连续吃多条鱼,也可以不吃。

** 为了不浪费,小x要求鱼必须吃完。。**

对于第i条鱼,小x的能量值会增加Hi(1 <= Hi <= 1,000,000)。小x会在白天吃鱼,一旦吃饱,他就会一觉睡到第二天。第二天醒来,她的能量值会变成前一天的能量值的一半(向下取整),小x的能量值是可以累加的。

小x比较注意维护每天能量的平衡,要刻意避免能量的大起大落,于是现在小x想知道,如何安排吃鱼,才能保证能量值最小的那个晚上(假设是第X个晚上),第X个晚上的能量值最大。

例如:有5条鱼,能量值分别是: (10, 40, 13, 22, 7).

小x按以下方式吃鱼,将会得到最优值:

| ·第几天 | ·醒来时能量值 | ·吃了鱼后能量值 | ·晚上睡觉能量值· |

|:---------: | :----------: | :---------: | :---------: |

| 1 |0 | 10+40  | 50 |

| 2 |25| ---   | 25 |

| 3 |12| 13   | 25 |

|4 |12| 22   | 34 |

|5 |17| 7    | 24 |

可以看出,第1天吃了鱼1、鱼2,第2天不吃鱼,第3天吃了鱼3,第4天吃了鱼4,第5天吃了鱼5。 那么在这5个晚上,能量值最低的是第5个晚上,能量值是24,所以输出24。然后你还要输出第I (1<=i<=N)条鱼是小x第几天吃掉的。

输入格式

第1行:两个整数: N 和 D

第2..N+1行: 每行一个整数Hi。

输出格式

第1行: 一个整数, 在这D个晚上里,能量值最小的那个晚上(假设是第X个晚上),第X个晚上的能量值最大可以是多少?

第2.....N+1行: 每行一个整数,第 i 行表示第i条鱼是第几天被吃的。

样例数据

input


5 5

10

40

13

22

7

output


24

1

1

3

4

5



数据规模与约定

40% 保证 N,D<=200

100%数据如题目描述

时间限制:1s1 \text {s}

空间限制:256MB256 \text {MB}