#P5054. 打印队列

打印队列

题目描述

学生会里只有一台打印机,但是有很多文件需要打印,因此打印任务不可避免地需要等待。有些打印任务比较急,有些不那么急,所以每个任务都有一个 191\sim 9 间的优先级,优先级越高表示任务越急。

打印机的运作方式如下:

  • 首先从打印队列里取出一个任务 JJ
  • 如果队列里有比 JJ 更急的任务,则直接把 JJ 放到打印队列尾部;
  • 否则打印任务 JJ(此时不会把它放回打印队列)。

输入打印队列中各个任务的优先级以及你的任务在队列中的位置(队首位置为 00),输出该任务完成的时刻。所有任务都需要 11 分钟打印。例如,打印队列为 {1,1,9,1,1,1}\{1,1,9,1,1,1\},目前处于队首的任务最终完成时刻为 55

输入格式

第一行输入 TT,接下来 TT 组数据。

每组数据第一行输入 NNMMMM 代表你的打印任务所处的位置。

第二行输入 NN 个数,表示打印队列中每个任务的优先级。

输出格式

TT 行,每行一个整数,表示你的打印任务完成所需要的时间,行末不得有多余空格。

3
1 0
5
4 2
1 2 3 4
6 0
1 1 9 1 1 1
1
2
5

提示

1T1001≤T≤1001N1001≤N≤1000MN10≤M≤N−1