在图书馆响铃的那一刻,AC了!! 这题是优先级队列,当时候做的时候就在纠结deque这个类。因为大一见过,在头尾操作是很爽的一个类,当时想不起。。百度一下出来了。。然后直接AC了 #include <iostream> #include <deque> using namespace std; struct node { int num; int p; node(int num = 0, int p = 0) { this->num = num; this->p = p; } }; deque<node> d; int main() { int cases; cin >> cases; int n, m; node tmp; deque<node>::iterator iter; while(cases--) { cin >> n >> m; d.clear(); int p; for(int i = 0; i < n; i++) { cin >> p; d.push_back(node(i, p)); } int count = 0; while(true) { tmp = d.front(); int _m = tmp.num; d.pop_front(); for(iter = d.begin(); iter != d.end(); iter++) { if(iter->p > tmp.p) break; } if(iter == d.end()) { count++; if(_m == m) { cout << count << endl; break; } }else d.push_back(tmp); } } return 0; }