4977:任务安排
文件提交:无需freopen
内存限制:512 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1
解决:0
题目描述
# 任务安排
## 题目描述
某研究所新研发了一个项目。该项目有 $n$ 个研究任务待分配,任务编号为 $1$ ~ $n$ ;共有 $k$ 个研究员参与本项目,研究员编号为 $1$ ~ $k$ 。
出于任务保密的原则,对于任务分配有着一定的要求:
- 每个研究员必须分配任务列表中的一段编号连续的任务,当然,**只分配一个任务或者不分配任务**也是可以的。
- 同一个任务只能被同一个研究员领取,第 $i$ 个任务一旦分配给了某研究员,其他人员不得参与该任务。
- 为提升分配效率,拟定分配方式为:所有研究员按自己**编号从大到小的顺序**依次领取任务,每个研究员会尽可能多的领取任务。(可能会形成部分编号较小的研究员领取不到任务的情况)
请编程计算出合理的任务分配方案,使得项目完成时间尽可能的短;项目完成时间的计算方式为:最后一个完成任务的研究员,其完成任务的总时间。
## 输入格式
输入 $2$ 个整数 $n$ 和 $k$ 。
第 $2$ 行有 $n$ 个整数,第 $i$ 个整数 $t_i$ 表示编号为 $i$ 的任务耗时。
## 输出格式
输出**若干行**,每行 $2$ 个整数,第 $i$ 行代表某个**分配到任务的研究员**领到任务的起止编号(没有分配到任务的研究员不需要输出)。
请按照分配任务起止编号字典序从小到大的顺序输出。
## 样例
### 样例输入 1
```text
9 3
1 2 3 4 5 6 7 8 9
```
### 样例输出 1
```text
1 5
6 7
8 9
```
### 样例输入 2
```text
3 3
3 1 2
```
### 样例输出 2
```text
1 1
2 3
```
### 样例输入 3
```text
9 5
282 594 674 344 122 345 621 850 535
```
### 样例输出 3
```text
1 2
3 4
5 7
8 8
9 9
```
## 说明/提示
样例 $1$ 解释
共有 $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$ 。
---
**题目来源:** 24年8月-B组(才俊)