Type: Default 1000ms 256MiB

【队列】 打印机

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

办公室里只有一台打印机,但是有很多文件需要打印,因此打印任务不可避免地需要等待。有些打印任务比较急,有些不那么急,每个任务都有一个数字来表示优先级,优先级越高表示任务越急。

打印机的运作方式如下:首先从打印队列里取出一个任务J,如果队列里有比J更急的任务,则直接把J放到打印队列尾部,否则打印任务J(此时不会把它放回打印队列)。 输入打印队列中各个任务的优先级以及我们想打印的任务的位置(从0开始算),输出该任务完成的时刻。所有任务都需要1分钟打印。

例如,打印队列为{1,1,9,1,1,1},目前处于0位置的任务最终完成时刻为5。

输入格式

第一行两个整数n,m分别表示总的任务数目和我们想打印的任务在其中的编号 第二行n个整数x,表示编号为0至n-1的任务的优先级

输出格式

一个整数,编号为m的任务完成所需的时间

样例 #1

样例输入 #1

6 0
1 1 9 1 1 1

样例输出 #1

5

提示

0<n<100,0<=m<n,0<=x<=90<n<100,0<=m<n,0<=x<=9

队列、单调队列、优先队列

Not Claimed
Status
Done
Problem
18
Open Since
2025-4-19 8:15
Deadline
2025-4-27 23:59
Extension
24 hour(s)