[백준]프린터 큐
유의할점
우선 순위 큐
풀이
우선 순위 큐를 활용해서 푼다. 우선순위큐에 있는 순위와 큐에 있는 순위가 동일한지 확인한다.
코드
C++
#include <iostream>
#include <queue>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
int N, M;
cin >> N >> M;
priority_queue<int, vector<int>, less<int> > pq;
queue<int> q;
int cnt = 0;
int _;
for (int i = 0; i < N; i++) {
cin >> _;
pq.push(_);
q.push(_);
}
while (!q.empty()) {
if (pq.top() == q.front()) {
++cnt;
pq.pop();
q.pop();
if (M == 0) {
cout << cnt << "\n";
break;
}
else {
M--;
}
}
else {
q.push(q.front());
q.pop();
if (M == 0)
M = q.size() - 1;
else
M--;
}
}
}
}
Author And Source
이 문제에 관하여([백준]프린터 큐), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@6047198844/백준프린터-큐저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)