#P005883. 任务安排

    ID: 5883 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>24-8-B组月赛T4二分基础二分查找普及/提高−

任务安排

当前没有测试数据。

题目描述

某研究所新研发了一个项目。该项目有 nn 个研究任务待分配,任务编号为 11 ~ nn;共有 kk 个研究员参与本项目,研究员编号为 11 ~ kk

出于任务保密的原则,对于任务分配有着一定的要求:

  • 每个研究员必须分配任务列表中的一段编号连续的任务,当然,只分配一个任务或者不分配任务 也是可以的。
  • 同一个任务只能被同一个研究员领取,第 ii 个任务一旦分配给了某研究员,其他人员不得参与该任务。
  • 为提升分配效率,拟定分配方式为:所有研究员按自己 编号从大到小的顺序 依次领取任务,每个研究员会尽可能多的领取任务。(可能会形成部分编号较小的研究员领取不到任务的情况)

请编程计算出合理的任务分配方案,使得项目完成时间尽可能的短;项目完成时间的计算方式为:最后一个完成任务的研究员,其完成任务的总时间。

输入格式

输入 22 个整数 nnkk

22 行有 nn 个整数,第 ii 个整数 tit_i 表示编号为 ii 的任务耗时。

输出格式

输出 若干行,每行 22 个整数,第 ii 行代表某个 分配到任务的研究员 领到任务的起止编号(没有分配到任务的研究员不需要输出)。

请按照分配任务起止编号字典序从小到大的顺序输出。

样例

输入

9 3
1 2 3 4 5 6 7 8 9

输出

1 5
6 7
8 9

数据范围

对于 50%50\% 的数据,满足 1kn1001 \le k \le n \le 100

对于 100%100\% 的数据,满足 1kn1051 \le k \le n \le 10^51ti10001 \le t_i \le 1000