#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <list>
#include <queue>
#include <functional>
using namespace std;
list<int> en;
priority_queue<int > ha;
int n;
void init()
{
int test;
cin>>test;
int ele;
int count = 0;
while(test--)
{
int x;
cin>>n>>x;
count = 0;
en.clear();
while(!ha.empty()) ha.pop();
for(int i=0;i<n;i++)
{
int q;
cin>>q;
en.push_back(q);ha.push(q);
if(i==x) ele = q;
}
bool flag = false;
while(true)
{
int elem = ha.top();ha.pop();
list<int>::iterator it = en.begin();
while(true)
{
if(*it==elem)
if(elem==ele&&x==0){count++;flag = true;break;}
else {count++;en.erase(it);it=en.begin();x--;break;}
else
{
en.push_back(*it);en.erase(it);
it = en.begin();x--;if(x==-1)x = en.size()-1;
}
}
if(flag) break;
}
cout<<count<<endl;
}
}
int main()
{
init();
return 0;
}
poj 3125 写了个SB代码,完全不清晰
最新推荐文章于 2021-05-19 16:03:06 发布