【UVA】12100 Printer Queue(STL队列&优先队列)

时间:2022-05-27 17:38:27

题目

题目
 


 

分析

练习STL
 


 

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,m,a[105],cnt=0;
        queue <int> que;
        priority_queue <int> Big;
        scanf("%d%d",&n,&m);
        for(int i=0;i<n;i++) que.push(i);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            Big.push(a[i]);
        }
        for(;;)
        {
            int x=que.front();
            if(a[x]==Big.top())
            {
                que.pop();Big.pop();
                cnt++;
                if(x==m) break;
            }
            else
            {
                que.pop();que.push(x);
            }
        }
        printf("%d\n",cnt);
    }
    return 0;
}