某研究所新研发了一个项目。该项目有 n 个研究任务待分配,任务编号为1~n;共有 k 个研究员参与本项目,研究员编号为 1~k。
出于任务保密的原则,对于任务分配有着一定的要求:
请编程计算出合理的任务分配方案,使得项目完成时间尽可能的短;项目完成时间的计算方式为:最后一个完成任务的研究员,其完成任务的总时间。
输入 2 个整数 n 和 k。
第 2 行有 n 个整数,第 i 个整数 t_i 表示编号为 i 的任务耗时。
输出若干行,每行 2 个整数,第 i 行代表某个分配到任务的研究员领到任务的起止编号(没有分配到任务的研究员不需要输出)。
请按照分配任务起止编号字典序从小到大的顺序输出。
9 3 1 2 3 4 5 6 7 8 9
1 5 6 7 8 9
3 3 3 1 2
1 1 2 3
9 5 282 594 674 344 122 345 621 850 535
1 2 3 4 5 7 8 8 9 9
共有 9 个任务,3 个研究员。
第 1 个研究员领取了第 1 \sim 5 这 5 个任务,耗时分别为 1 2 3 4 5,他完成任务的总时间为 15。
第 2 个研究员领取了第 6 \sim 7 这 2 个任务,耗时分别为 6 7,他完成任务的总时间为 13。
第 3 个研究员领取了第 8 \sim 9 这 2 个任务,耗时分别为 8 9,他完成任务的总时间为 17。
因此项目完成的时间为 17,即第 3 个研究员完成任务的时间。
对于 50\% 的数据,满足 1 \le k \le n \le 100。
对于 100\% 的数据,满足 1 \le k \le n \le 10^5,1 \le t_i \le 1000。