UVALive - 3638 Printer Queue

https://vjudge.net/problem/UVALive-3638

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<vector>
using namespace std;
#define PII pair<int,int>
int T;
int main()
{
	cin>>T;
	while(T--)
	{
		int n,pos,t;
		vector<pair<int,int>> q;
		cin>>n>>pos;
		for(int i=0;i<n;i++)
		{
			cin>>t;
			q.push_back({t,i});
		}
		int ans=0;
		while(q.size())
		{
			int u=0;
			for(int i=1;i<q.size();i++)
				if(q[i].first>q[u].first)
					u=i;
			for(int i=0;i<u;i++)
			{
				q.push_back(q[0]);
				q.erase(q.begin());	
			}
//			for(int i=0;i<n;i++)
//				cout<<q[i].first<<" ";
//			cout<<"\n";
			ans++;
			if(q[0].second==pos)
				break;
			q.erase(q.begin());
		}
		cout<<ans<<'\n'; 
	}
	return 0;
 } 
posted @ 2021-08-21 20:38  斯文~  阅读(15)  评论(0)    收藏  举报

你好!