UVA362 18,000 Seconds Remaining

题目背景

[problemUrl]: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=5&page=show_problem&problem=298 [PDF](https://uva.onlinejudge.org/external/3/p362.pdf)

题目描述

许多文件传输程序都有预估剩余传输时间的功能,程序根据剩余待传输字节数与之前几秒的传输速度来估算剩余时间,请编写程序模拟该运行逻辑。

输入格式

输入包含多组数据,每组数据对应一次文件传输。 每组数据的第一行为一个正整数,代表文件的总字节大小。 接下来每行输入一个正整数,代表该秒传输的字节数量(均为正整数),所有传输字节的总和与文件总字节数相等。 当输入的字节数量为 $0$ 时,表示输入结束,该数据无需处理。

输出格式

每组数据输出的第一行,需要标注数据组的编号和待传输文件的大小。 传输期间,每经过 $5$ 秒就输出一行剩余预估时间。 计算剩余时间时,先取最近 $5$ 秒的数据计算传输速率(字节/秒)。 如果这 $5$ 秒没有传输任何字节,则传输处于停滞状态,程序需要对应输出该信息。 反之,用剩余待传输字节数除以近 $5$ 秒传输速率,得到预估剩余秒数。 剩余时间以整数形式输出,计算结果统一向上取整(例如计算结果为 $12.2$ 秒,需要输出剩余 $13$ 秒)。 传输全部结束后,单独输出一行,写明本次传输总耗时,输出格式参照样例。 每组数据全部输出结束后,输出一个空行。