#j3. 银行排队叫号

银行排队叫号

题目描述

银行有 k 个窗口,每个窗口可以办理业务。有 n 个客户按顺序排队,规则如下:

  1. 初始时所有窗口空闲,前 k 个客户直接进入窗口,开始办理业务;

  2. 后续客户选择最早空闲的窗口(若多个窗口同时空闲,选编号最小的);

  3. 每个客户的办理时间不同,客户办理完业务后,窗口变为空闲。

    输出每个客户的办理窗口编号完成时间

输入格式

第一行:两个整数 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

考点分析

  1. 贪心策略模拟(选最早空闲窗口)
  2. 数组维护窗口状态(记录每个窗口的空闲时间)
  3. 遍历比较找最优窗口