2410 我肯定是最正规的题目了

Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)

Submits : 25 | Solved : 0

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

[ Top ] | [ Submit ]