2410 我肯定是最正规的题目了
Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)
Submits : 278 | Solved : 28
Description
Zero闲来无事,就打算在YXC门口搭积木玩,没花多久他就搭出了N个由积木搭成的塔(编号0到n-1),每个塔都有一定的高度。Zero打算将这N个塔拍成一排,即一条直线。因为宁大的妖风肆虐,塔倒塌的可能性很大,而Zero又很讨厌一个塔倒塌撞到另外一个塔,所以Zero打算将这N个塔已一定间隔放置,两个塔之间的间隔为这两个塔的高度的最大值,这样一个塔倒了就撞不到另外一个塔了。
Zero还想把这个间隔之和变成最小,你能帮帮他吗?
Input
先是一个整数T(1<=T<=100),代表数据组数
然后每组数组先是输入一个整数N(1<=N<=100),为塔的个数
接下来N个整数代表每个塔的高度(1<=高度<=100)
Output
先输出Case X: X为当前的组数
接下来输出每组的N个数,即输出最小间隔时的对应点的标号
如果有多组结果,输出字典序最小的那组
Sample Input
2 2 1 2 5 4 3 2 1 5
Sample Output
Case 1: 0 1 Case 2: 0 1 2 3 4
HINT
Source
Zero