输入样例
9
0 20
1 15
1 61
2 10
10 5
10 3
30 18
31 25
31 2
3
关于这道题我觉得自己写得蛮有意思的
把排队的人变成一个队列,然后逐个去选择,然后pop();
选择时选择窗口空闲时间最早的那个,也就是nexttime 最小的那个
有两种情况,一种是顾客到的时候,有窗口空闲,那么窗口的下一个空闲时间变成顾客的到达时间加上完成时间
一种是顾客到的时候没空闲,那么选择时间短的,等待时间由窗口下一个空闲时间减去到达时间
先计算等待时间才能计算下一个时间,这是我踩的一个雷,代码的运行顺序会影响变量的值
为了减少判断时间,把第一个顾客安排在第一个窗口,然后弹出队头的顾客
#include <bits/stdc++.h>
using namespace std;
class guke{
public:
int arrive_time;
int work_time;
guke(int arriveTime, int work