#j3. 银行排队叫号
银行排队叫号
题目描述
银行有 k 个窗口,每个窗口可以办理业务。有 n 个客户按顺序排队,规则如下:
-
初始时所有窗口空闲,前 k 个客户直接进入窗口,开始办理业务;
-
后续客户选择最早空闲的窗口(若多个窗口同时空闲,选编号最小的);
-
每个客户的办理时间不同,客户办理完业务后,窗口变为空闲。
输出每个客户的办理窗口编号和完成时间。
输入格式
第一行:两个整数 n,k(1≤k≤n≤1000)
第二行:n 个整数,表示每个客户的办理时间 ti(1≤ti≤100)
输出格式
共 n 行,每行两个整数,表示第 i 个客户的窗口编号和完成时间
样例输入
plaintext
5 2
3 5 2 4 1
样例输出
plaintext
1 3
2 5
1 5
1 9
2 6
考点分析
- 贪心策略模拟(选最早空闲窗口)
- 数组维护窗口状态(记录每个窗口的空闲时间)
- 遍历比较找最优窗口