#P16511. [GKS 2015 #C] gFiles

[GKS 2015 #C] gFiles

题目描述

Alien 科技公司 G 有一个非常古老的文件传输工具,至今仍在使用。在该工具运行时,它会通过显示状态更新来让用户放心,这些更新包含当前已传输文件的百分比以及已传输文件的数量。运行过程中的状态更新可能如下所示:

20%20\% ==>>|==>>-------| 11 个文件已传输

100%100\% ==========|==========| 55 个文件已传输

但该百分比并不精确;它只是截去了小数部分(即向下取整到最近且不超过它的 1%1\%)。也就是说,1.2%1.2\%1.7%1.7\% 都会显示为 1%1\%

一些用户可能希望知道确切的文件总数,因此你希望修改该工具,使得状态更新变为如下形式:

20%20\% ==>>|==>>-------| 11 个文件已传输(共 55 个)

100%100\% ==========|==========| 55 个文件已传输(共 55 个)

但你意识到,有可能无法知道文件的数量。给定工具显示的状态更新,你要么计算出文件的总数,要么确定无法做到(即文件总数有多种可能的取值)。状态更新并不保证按固定间隔出现,也不保证在每次文件传输时都出现。

输入格式

第一行包含一个整数 TT,表示测试用例的数量。接下来是 TT 个测试用例。每个测试用例包含一行,给出一个整数 NN,即工具输出的状态更新的条数,随后是 NN 行,格式为 Pi KiP_i \ K_i,其中 PiP_iKiK_i 为整数,分别表示在过程中某个时刻的百分比和已传输文件的数量。这些更新按时间顺序列出——也就是说,在整个测试用例中,PiP_i 值和 KiK_i 值都是非递减的。

输出格式

对于每个测试用例,输出一行,以 “Case #x: y” 开头,其中 xx 是测试用例编号(从 11 开始),yy 要么是文件的总数,要么当该数值不唯一时为 1-1

3
2
20 1
100 5
10
25 241
27 262
43 407
44 413
57 536
64 601
67 637
84 789
95 893
96 903
10
0 0
8 2
8 2
17 4
30 7
39 9
69 16
73 17
82 19
91 21
Case #1: 5
Case #2: -1
Case #3: 23

提示

限制

1T501 \le T \le 50

1N1001 \le N \le 100

0Pi1000 \le P_i \le 100

小数据集(测试集 1 - 可见)

0Ki20000 \le K_i \le 2000

保证答案不超过 20002000

大数据集(测试集 2 - 隐藏)

0Ki10150 \le K_i \le 10^{15}

保证答案不超过 101510^{15}

翻译由 DeepSeek V4 Pro 完成