PQUEUE - Printer Queue

题意翻译

学生会里只有一台打印机,但是有很多文件需要打印,因此打印任务不可避免地需要等待。有些打印任务比较急,有些不那么急,所以每个任务都有一个1~9间的优先级,优先级越高表示任务越急。 打印机的运作方式如下:首先从打印队列里取出一个任务J,如果队列里有比J更急的任务,则直接把J放到打印队列尾部,否则打印任务J(此时不会把它放回打印队列)。 输入打印队列中各个任务的优先级以及所关注的任务在队列中的位置(队首位置为0),输出该任务完成的时刻。所有任务都需要1分钟打印。例如,打印队列为{1,1,9,1,1,1},目前处于队首的任务最终完成时刻为5。 输入T 接下来T组数据 每组数据输入N,TOP。接下来N个数,TOP代表队列首

题目描述

![](https://cdn.luogu.com.cn/upload/vjudge_pic/SP1840/3be29d089410f30e1776a4aaa83e8e7c01430643.png) The only printer in the computer science students' union is experiencing an extremely heavy workload. Sometimes there are a hundred jobs in the printer queue and you may have to wait for hours to get a single page of output. Because some jobs are more important than others, the Hacker General has invented and implemented a simple priority system for the print job queue. Now, each job is assigned a priority between 1 and 9 (with 9 being the highest priority, and 1 being the lowest), and the printer operates as follows. - The first job _J_ in queue is taken from the queue. - If there is some job in the queue with a higher priority than job _J_, then move _J_ to the end of the queue without printing it. - Otherwise, print job _J_ (and do not put it back in the queue). In this way, all those important muffin recipes that the Hacker General is printing get printed very quickly. Of course, those annoying term papers that others are printing may have to wait for quite some time to get printed, but that's life. Your problem with the new policy is that it has become quite tricky to determine when your print job will actually be completed. You decide to write a program to figure this out. The program will be given the current queue (as a list of priorities) as well as the position of your job in the queue, and must then calculate how long it will take until your job is printed, assuming that no additional jobs will be added to the queue. To simplify matters, we assume that printing a job always takes exactly one minute, and that adding and removing jobs from the queue is instantaneous.

输入输出格式

输入格式


One line with a positive integer: the number of test cases (at most 100). Then for each test case: - One line with two integers _n_ and _m_, where _n_ is the number of jobs in the queue (1 ≤ _n_ ≤ 100) and _m_ is the position of your job (0 ≤ m ≤ n-1). The first position in the queue is number 0, the second is number 1, and so on. - One line with _n_ integers in the range 1 to 9, giving the priorities of the jobs in the queue. The first integer gives the priority of the first job, the second integer the priority of the second job, and so on.

输出格式


For each test case, print one line with a single integer; the number of minutes until your job is completely printed, assuming that no additional print jobs will arrive.

输入输出样例

输入样例 #1

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

输出样例 #1

1
2
5