luogu#P1854. 花店橱窗布置

    ID: 5909 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>动态规划dp搜索1999IOISpecial Judge剪枝记忆化搜索

花店橱窗布置

题目描述

某花店现有 FF 束花,每一束花的品种都不一样。至少有同样数量的花瓶,被按顺序摆成一行。花瓶的位置是固定的,从左到右按 1V1\sim V 顺序编号,VV 是花瓶的数目。

花束可以移动,并且每束花用 1F1\sim F 的整数标识。所有花束在放入花瓶时必须保持其标识数的顺序。例如,假设杜鹃花的标识数为 11,秋海棠的标识数为 22,康乃馨的标识数为 33,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。每个花瓶只能放一束花。

每个花瓶的形状和颜色也不相同,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果,并以美学值(一个整数 ai,ja_{i,j})来表示,空置花瓶的美学值为 00。在上述的例子中,花瓶与花束的不同搭配所具有的美学值,可以用如下的表格来表示:

花瓶 1 花瓶 2 花瓶 3 花瓶 4 花瓶 5
杜鹃花 77 2323 5-5 24-24 1616
秋海棠 55 2121 4-4 1010 2323
康乃馨 21-21 55 20-20 2020

根据表格,杜鹃花放在花瓶 22 中,会显得非常好看,但若放在花瓶 44 中,则显得很难看。

为了取得最佳的美学效果,必须在保持花束顺序的前提下,使花的摆放取得最大的美学值,如果具有最大美学值的摆放方式不止一种,则输出任何一种方案即可。

输入格式

输入文件的第一行是两个整数 FFVV,分别为花束数和花瓶数。

接下来是矩阵 ai,ja_{i,j},共 FF 行,每行 VV 个整数,ai,ja_{i,j} 表示花束 ii 摆放在花瓶 jj 中的美学值。

输出格式

输出文件的第一行是一个整数,为最大的美学值;接下来一行 FF 个整数,为那束花放入那个花瓶的编号。

3 5
7 23 -5 -24 16
5 21 -4 10 23
-21 5 -4 -20 20

53
2 4 5

提示

对于 100%100\% 的数据,1FV1001\le F\le V\le 100

感谢 @罗恺 提供 SPJ