QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#3404. 下载管理器

Statistics

Jiajia 下载的东西非常多,多到你无法想象。有人说他同时开始下载多达 20,000 个文件。如果 20,000 个文件试图共享有限的带宽,那将是一场灾难,没有任何文件能正常下载。这就是他使用下载管理器的原因。

如果有 $T$ 个文件需要下载,下载管理器在下载文件时遵循以下策略:

  1. 下载管理器优先处理较小的文件,因此它在启动时会开始下载最小的 $n$ 个文件。如果存在平局(即文件大小相同),下载管理器会选择剩余字节数较少的文件进行下载。我们假设在至少 $50$ MB/s 的带宽下,$n$ 个文件可以同时下载而不会出现任何问题。
  2. 可用带宽由所有正在下载的文件平均共享。当一个文件完全下载完成后,它的带宽会立即分配给下一个文件。如果除了正在下载的文件外没有剩余文件,该带宽会立即由所有剩余正在下载的文件平均共享。

给定每个文件的大小和已完成的百分比,你的任务是智能地模拟下载管理器的行为,以找出下载所有文件所需的总时间。

输入格式

最多有 10 组测试数据。每组数据以三个整数 $T$ ($1 \le T \le 20000$),$n$ ($1 \le n \le 2000$ 且 $1 \le n \le T$) 和 $B$ ($50 \le B \le 1000$) 开头。其中 $B$ 表示 Jiajia 可用的总带宽(单位:MB/s)。请注意,除非可下载的文件少于 $n$ 个,否则下载管理器总是并行下载 $n$ 个文件。接下来的 $T$ 行中,每行包含一个非负浮点数 $S$(小于 20,000,小数点后最多 2 位)和一个整数 $P$ ($0 \le P \le 100$)。这两个数字表示一个大小为 $S$ MB 且已下载了 $P\%$ 的文件。另请注意,虽然从理论上讲,文件大小或其剩余部分的大小以字节表示时不可能是分数,但为了简化起见,请假设在本题中这是可能的。最后一组测试数据后跟 $T=n=B=0$,该行不应被处理。

输出格式

对于每组数据,打印案例编号和下载所有文件所需的总时间,以小时为单位,并四舍五入保留小数点后 2 位。在每个测试案例的输出后打印一个空行。

样例

输入格式 1

6 3 90 
100.00 90 
40.40 70 
60.30 70 
40.40 80 
40.40 85 
40.40 88 
1 1 56 
12.34 100 
0 0 0

输出格式 1

Case 1: 0.66 

Case 2: 0.00

说明

在第一个样例中,共有 6 个文件,下载管理器可以同时下载 3 个文件。最小的文件大小为 40.40 MB,但有四个这样的文件(第 2、4、5 和 6 个文件)。因此,下载管理器选择第 6、5 和 4 个文件进行下载,因为它们的剩余字节数较少。所有这些文件获得相等的带宽(30.00 MB/s)。在这三个文件中,第 6 个文件最先完成。因此,第 2 个文件立即开始下载。然后,第 5 个文件完成。因此,下一个较大的文件(第 3 个文件)开始下载。此过程一直持续到所有文件下载完成。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.