하다보니
1021번-회전하는 큐 본문
#include<bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
deque<int> Q;
int n, m;
int ans = 0;
cin >> n >> m;
for (int i = 1; i <= n; i++) Q.push_back(i);
while (m--) {
int a;
cin >> a;
int idx = find(Q.begin(), Q.end(), a)-Q.begin();
while (Q.front() != a) {
if (idx<( Q.size() - idx)) {
Q.push_back(Q.front());
Q.pop_front();
ans++;
}
else {
Q.push_front(Q.back());
Q.pop_back();
ans++;
}
}
Q.pop_front();
}
cout << ans;
}