📅  最后修改于: 2023-12-03 15:23:03.078000             🧑  作者: Mango
本题中,我们将考虑一种排队问题,其中一组客户到达一个服务台并使用该服务,同时其他人仍在等待。我们需要计算平均等待时间。
一个单线程的服务台处理百万级别的数据,并按照以下规则服务:
我们需要计算平均等待时间,即从提交时到完成时的平均时间。
第一行为一个整数 $T$,表示测试用例的数量。每个测试用例由以下几行组成:
对于每个测试用例,输出一行浮点数,表示所有客户的平均等待时间(保留三位小数)。
1
1 4
0 5
2 7
4 5
5 7
5.750
在此示例中,我们只能为一个顾客提供服务。因此,顾客1提交后,我们需要为其提供服务,等待时间为0。顾客2提交时正在为顾客1提供服务,因此将其添加到等待队列中,等待时间为3。当顾客1服务完成时,我们为顾客2提供服务,等待时间为0。随后,顾客3提交请求并添加到等待队列,等待时间为1。当顾客2服务完成时,我们为顾客3提供服务,等待时间为0。最后,顾客4提交服务请求并添加到等待队列,等待时间为1。因此,总等待时间为0 + 3 + 0 + 1 = 4,平均等待时间为4 / 4 = 1.5。