#P3860. [TJOI2009] 火星人的手机

[TJOI2009] 火星人的手机

题目背景

你应火星人之邀为他们设计一款新型的手机。我们知道在标准的地球人手机上,数字键共有 1010 个,2626 个字母 az 分别与某个数字键相关联,并且一个数字键上的若干字母必须是字母表中连续的一段。比如下图是地球手机的一个标准方案:

题目描述

我们要输入一个字母,必须连续按它所在的数字键若干次,次数即为这个字母在这个键的第几个位置。例如在上图的方案中,若我们要输入 C,就需要按三次数字键 2;若要输入 M,需按一次数字键 6

火星人手机的构造与地球人手机类似,上面有 MM 个火星数字键,你需要把火星文的 NN 个字母放置在这 MM 个键上。(同样要求一个数字键上必须是连续的若干个火星字母)现在给定一段火星文中各个字母的出现次数,你设计的手机必须使得输入这段文字所需的按键次数最少。

输入格式

输入文件的第一行包括两个数字 NNMM,分别表示火星文字母数和火星手机的按键数。接下来有 NN 行,每行包含一个数字,依次表示每个字母在文章中的出现次数。这个次数不超过 10001000

输出格式

输出文件的第一行包括一个数字,表示最少的按键次数。

接下来的 MM 行表示一种设计方案:每行包含一个数,依次表示每个数字键上有几个火星字母。(这些数字可以为 00

如果有多种方案可以得到最少的按键次数,你需要输出第一个数字键上包含字母最少的方案;如果仍有多种方案,你需要在其中选择第二个数字键上字母最少的方案;依此类推。

3 2
100
200
300

800
2
1

提示

数据范围及约定

对于 100%100\% 的数据,1N5001\le N \le 5001M1001 \le M \le 100