刚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;
}