N은 1부터 500,000.
queue
의 pop, front, push
를 적절히 섞어서 문제 고대-로 풀면 된다.
#include <iostream>
#include <queue>
using namespace std;
int main() {
int n, num;
queue<int> q;
cin >> n;
for (int i = 1; i <= n; i++) {
q.push(i);
}
while (q.size() != 1) {
q.pop();
num = q.front();
q.pop();
q.push(num);
}
cout << q.front();
return 0;
}