#P3347. Kadj Squares

Kadj Squares

题目描述

在此问题中,给定一组边长不同的正方形序列S1,S2,,SnS_1, S_2, \dots, S_n。正方形的边长为整数。我们将这些正方形放置在平面的第一象限(即xxyy均为正的区域),使得它们的边与xx轴和yy轴成4545度角,并且其中一个顶点位于直线y=0y=0上。设bib_i为正方形SiS_i底部顶点的xx坐标。首先,将S1S_1放置在其左顶点位于x=0x=0的位置。然后,对于i>1i > 1,将SiS_i放置在满足以下条件的最小bib_i处:

  1. bi>bi1b_i > b_{i-1}
  2. SiS_i的内部不与S1,,Si1S_1, \dots, S_{i-1}的内部相交。 目标是找出从上方观察时,哪些正方形是全部或部分可见的。在上面的示例中,正方形S1S_1S2S_2S4S_4满足这一条件。更正式地说,如果正方形SiS_i包含一个点pp,使得除了SiS_i之外,没有其他正方形与从pp向上延伸的垂直半直线相交,则SiS_i被视为从上方可见。

输入格式

输入包含多个测试用例。每个测试用例的第一行是一个整数nn1n501 \leq n \leq 50),表示正方形的数量。第二行包含nn个介于113030之间的整数,其中第ii个数表示正方形SiS_i的边长。输入以一行包含数字00结束。

输出格式

对于每个测试用例,输出一行,按升序列出输入序列中可见正方形的索引,索引之间用空格分隔。

输入样例 1

4
3 5 1 4
3
2 1 2
0

输出样例 1

1 2 4
1 3

来源 Tehran 2006