#include "iostream"
#include "deque"
using namespace std;
struct Info//job的位置和优先权的信息
{
int num;
int pr;
};
int main()
{
int n;
cin >> n;
deque<Info> d;
while (n--)
{
d.clear();
int JobNum, JobPos, Priority;
cin >> JobNum >> JobPos;
Info *node = new Info[JobNum];
deque<Info>::iterator it;
for (int i = 0; i < JobNum; i++)
{
node[i].num = i;
cin >> Priority;
node[i].pr = Priority;
d.push_back(node[i]);
}
Info temp;
int TimeSum = 0;
while (true)//对队列中的元素进行遍历,然后判断,如果不符合的就重新入队,如果是符合的就出队!
{
temp = d.front();
d.pop_front();
for (it = d.begin(); it != d.end(); it++)
if (it->pr > temp.pr)
break;
if (it == d.end())
{
TimeSum++;
if (temp.num == JobPos)
{
cout << TimeSum << endl;
break;
}
}
else
d.push_back(temp);
}
}
}
sicily 1443
最新推荐文章于 2018-08-09 11:10:02 发布