刚A完图书系统那道题,然后看提交次数那个字典的比这道题多,看了看那道更新字典没有思路,就看了这道题,感觉这道题比更新字典简单多了。
#include<iostream>
#include<queue>
#include<map>
using namespace std;
int main() {
int cases;
cin >> cases;
while(cases--) {
int n, m, times = 0;
map<int, int> order_level;
queue<int> print_list;
priority_queue<int, vector<int> > level_list;
cin >> n >> m;
for(int i = 0; i < n; i++) {
int x;
cin >> x;
order_level[i] = x;
print_list.push(i);
level_list.push(x);
}
while(1) {
if(order_level[print_list.front()] == level_list.top()) {
times++;
if(print_list.front() == m) break;
print_list.pop();
level_list.pop();
} else {
print_list.push(print_list.front());
print_list.pop();
}
}
cout << times << endl;
}
return 0;
}