问题3689--[JSOI2008]流行舞蹈3689: [JSOI2008]流行舞蹈
时间限制: 1 Sec 内存限制: 512 MB
提交: 0 解决: 0
[提交] [状态] [讨论版] [命题人:]题目描述
wjj正为他的家庭成员们组织一场愉快的周未活动。
活动最吸引人的特色将是被称为“火车”的流行舞蹈。所有的客人都一个挨一个地排成长队,队伍中除第一个人外其余所有人都将自己的双手放在前一个人的双肩上,然后快乐地跳着穿过客厅,有时甚至穿过厨房。
wjj希望他的火车看起来漂亮一点。如果排在一起的两个人身高相差太大,则火车看起来将不漂亮。
wjj的家庭是非常保守的,他们是不允许来自他们家庭中的年轻成员站在年长成员前面的。其余的人能站在他们想站的任何地方。
现给出所有客人的身高以及家庭成员的年龄顺序。编写程序用来分配火车中的客人,以保证每个家庭成员面前没有比他年轻的家庭成员,并且要求在火车中每相邻两个的身高差绝对值之和是最小的。
输入
输入文件的第一行是两个用空格隔开的整数N和K,其中1≤N≤10000,1≤K≤1000,K≤N,分别表示参加活动的总人数和家庭成员的人数。
接下来的N行是一个整数V,1000≤V≤2200,表示每个客人的身高。客人用数字1到N标明,并且前K个客人是wjj的家庭成员,按年龄的降序排列。(因此客人1号即wjj家庭成员中的最年长者,客人K号即最年轻的)
输出
在第一行写出火车中相邻两个人身高差之和的最小值。
在接下来的N行中按客人在最佳火车中的排列写出客人的标号,写到结束。注意解决方案不一定要求是唯一的。
样例输入
5 3
1900
1300
1500
1200
1600
样例输出
1000
1
5
4
2
3
来源/分类
[提交] [状态]