#P12770. [POI 2018 R3] 出租车 Taxis

[POI 2018 R3] 出租车 Taxis

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXV Olimpiada Informatyczna — III etap Taksówki

Bajtazar 是《出租车与你》杂志的主编,每年发布拜托尼亚最便宜出租车公司排行榜。新一期排行榜即将来袭。

每家出租车公司 ii 的乘车费用由两部分组成:

  • 固定上车费 sis_i,与行程距离无关;
  • 行程费,距离 dd(单位:拜托米)乘以每拜托米的单价 cic_i

每家公司有固定的 sis_icic_i 参数。

Bajtazar 希望综合多种标准制定排行,但为避免偏见指控,他决定仅以价格为依据。他设定了理想的排行榜,希望通过选择一个正数(不一定为整数)的行程距离 dd,使 dd 拜托米的费用排序与理想排行一致,允许自行处理平局情况。

然而,各公司试图贿赂 Bajtazar,且服务标准时有变动,导致理想排行频繁调整。编写程序,帮助他在每次调整后确定合适的距离参数 dd

输入格式

第一行包含一个自然数 nn,表示出租车公司数量。

接下来的 nn 行描述各公司,每行包含两个自然数 si,cis_i, c_i,分别表示上车费和每拜托米费用。

下一行包含 nn 个互不相同的自然数(范围 [1,n][1, n]),表示 Bajtazar 的初始理想排行(第 ii 个数为应排在第 ii 位的公司编号)。

再下一行包含一个自然数 qq,表示调整次数。

接下来的 qq 行描述调整,每行包含两个不同的自然数 ai,bia_i, b_i,表示将排行中第 aia_i 位与第 bib_i 位交换。

输出格式

输出 q+1q+1 行,第 ii 行包含一个正有理数,表示使排行与前 i1i-1 次调整后一致的距离 dd,以不可约分数 x/yx/y 形式输出,x,y109x, y \leq 10^9

若无解,输出 NIE

3
8 3
12 2
9 4
2 1 3
3
1 3
1 2
2 3
4/1
NIE
1/1
2/1

提示

样例 1 解释

为实现排行 2,1,32,1,3,Bajtazar 可设 d=4d=4,费用为 8+3d=20,12+2d=20,9+4d=258+3d=20, 12+2d=20, 9+4d=25。公司 1122 费用相等,可按理想顺序排列。交换第 11 位和第 33 位得 3,1,23,1,2,无任何 dd 可实现。再次交换第 33 位和第 22 位得 1,3,21,3,2,设 d=1d=1,费用为 11,14,1311, 14, 13。最后交换第 22 位和第 33 位得 1,2,31,2,3,设 d=2d=2,费用为 14,16,1714, 16, 17

附加样例

  1. n=10,q=10n=10, q=10,满足子任务 44 的随机样例。
  2. n=10,q=10n=10, q=10,随机样例。
  3. n=10,q=10n=10, q=10d=1/3d=1/3 时各公司费用相同。
  4. n=1000,q=1000n=1000, q=1000,仅一种可能排行:任意 dd 下公司 1122 便宜,2233 便宜,依此类推,初始排行如此。每偶数次调整交换两位置,奇数次调整复原。

所有测试点满足 $1 \leq n \leq 500000, 0 \leq q \leq 5000000, 1 \leq s_i, c_i \leq 10^9$。

详细子任务附加限制及分值如下表所示。「无并列」表示任意正 dd 至多一对不同公司费用相等;「无 NIE」表示答案不含 NIE

子任务 附加限制 分值
11 q=0q=0,无并列 1010
22 n,q2000n, q \leq 2000,无并列
33 n2000n \leq 2000,无并列 2525
44 NIE 3030
55 无附加限制 2525