作业……数组模拟
#include <iostream>
using namespace std;
int queue[101], n;
bool printed[101];
bool priIsFirst(int head) {
for(int i = 0; i < n; i++) {
if(printed[i]) {
continue;
}
if(queue[i] > queue[head]) {
return false;
}
}
return true;
}
int main() {
int cases;
cin >> cases;
while(cases--) {
int mine, count = 0;
cin >> n >> mine;
int head = 0;
for(int i = 0; i < n; i++) {
cin >> queue[i];
printed[i] = false;
}
while(head < n) {
if(printed[head]) {
head++;
head %= n;
continue;
}
if(priIsFirst(head)) {
printed[head] = true;
count++;
if(head == mine) {
cout << count << endl;
break;
}
head++;
head %= n;
}
else {
head++;
head %= n;
}
}
}
return 0;
}