#P16876. [Ural1663]The Hobbit or There and Back Again 2

[Ural1663]The Hobbit or There and Back Again 2

题目描述

老比尔博每隔二十年都会离开瑞文戴尔,用一年的时间游历中土世界的 NN 座城市,然后返回瑞文戴尔。

这些城市编号为 11NN,其中瑞文戴尔的编号为 11

每座城市入口处都有守卫。若旅行者从城市 BB 来到城市 AA,需要支付的入城费为

PA1000PB,P_A\left\lfloor\frac{1000}{P_B}\right\rfloor,

其中 PiP_i 表示城市 ii 的人口,x\lfloor x\rfloor 表示不超过 xx 的最大整数。

比尔博已知所有城市的人口。他要从城市 11 出发,每座其他城市恰好访问一次,最后返回城市 11

请给出一种访问顺序,使整个旅程支付的入城费总和最小。

输入格式

第一行一个整数 NN

第二行包含 NN 个整数 P1,P2,,PNP_1,P_2,\ldots,P_N,表示各城市人口。

约束:

2N1000,2\le N\le1000, 1Pi1000.1\le P_i\le1000.

输出格式

输出 NN 个整数,表示依次访问的城市编号。

输出序列必须以城市 11 开头,每座城市恰好出现一次;输出序列最后一个城市访问完后,会直接返回城市 11

要求该路线的总费用最小。

如果有多种最优方案,输出任意一种即可。

样例

4
10 3 5 4
1 4 2 3

原题限制

  • 时间限制:0.5 秒
  • 内存限制:64 MB