#z1066. 刺桐港的船舶调度

刺桐港的船舶调度

题目背景

宋元时期,泉州(刺桐港)是东方第一大港。每天都有海量来自世界各地的商船排队进港卸货。

题目描述

现有 NN 艘商船在港外等待调度。每艘商船按进港登记的先后顺序,自动获得一个从 11NN原始到港序号。 每艘商船包含三个信息:货物总重 WiW_i、货物的珍稀度系数 RiR_i 以及船名 SiS_i(由小写字母组成的字符串)。

港口指挥部制定了如下的卸货优先级规则:

  1. 优先安排综合价值高的商船进港。一艘船的综合价值计算公式为:Pi=Wi×RiP_i = W_i \times R_i
  2. 如果两艘商船的综合价值 PiP_i 相同,则按船名 SiS_i字典序从小到大安排。
  3. 如果综合价值和船名完全相同(存在同名同货情况),则保持它们原本的相对到港顺序(即原始序号小的优先)。

请输出最终排好序的商船进港顺序表。

输入格式

第一行包含一个正整数 NN,表示商船的数量。 接下来 NN 行,每行包含两个正整数和一个字符串,分别表示第 ii 艘船(原始序号即为 ii)的货物总重 WiW_i、珍稀度系数 RiR_i 以及船名 SiS_i

输出格式

输出 NN 行,每行包含一个正整数和一个字符串,用一个空格隔开,分别表示排序后商船的原始到港序号船名

输入输出样例

输入 #1

3
10 5 marina
20 2 alibaba
25 2 marina

输出 #1

1 marina
3 marina
2 alibaba

样例说明: 1 号船价值 10×5=5010 \times 5 = 50,名字 marina; 2 号船价值 20×2=4020 \times 2 = 40,名字 alibaba; 3 号船价值 25×2=5025 \times 2 = 50,名字 marina。 1 号和 3 号价值与名字完全相同,根据规则 3,保持原到港顺序(1 号在前,3 号在后)。

说明/提示

对于 100%100\% 的数据:1N10001 \le N \le 10001Wi,Ri1041 \le W_i, R_i \le 10^4,船名长度不超过 20 个字符。