Рутинная работа
시간 제한2초메모리 제한1024 MB
교대로 놓인 큐와 스택을 이용해, 길이가 2*2^n*n 이하인 이동 수열을 출력하여 첫 번째 큐의 서로 다른 2^n개 수를 마지막 큐에 오름차순으로 정렬한다.
문제
Вчера Альф в очередной раз провинился --- опять чуть не съел Лаки. На этот раз Вилли решил проучить Альфа.
В кладовке у него как раз завалялись очередь и стеков. Причем в одной из очередей также находилось различных целых чисел от до . Вилли выложил перед Альфом все очереди и стеки в чередующемся порядке --- сначала идет очередь, потом стек, потом опять очередь, и так далее, последней Вилли выложил очередь. Причем очередь с числами оказалась первой.
Все, что Альф может делать с этими стеками и очередями --- вынуть из структуры данных номер первое число (для стека это число на вершине, для очереди --- число, находящееся в голове) и добавить его в структуру данных номер (в случае стека число добавится на его вершину, в случае очереди --- в хвост). Теперь Вилли просит Альфа отсортировать все числа из первой очереди --- сделать несколько операций над этими структурами данных, чтобы все числа находились в последней очереди, а также располагались там в возрастающем порядке. То есть должно быть выполнено, что в голове очереди находится число , в хвосте очереди --- , а между ними числа должны быть отсортированы.
Вилли утверждает, что отсортировать числа гарантированно можно за операций. Помогите Альфу понять, как нужно применять эти операции, чтобы выполнить задание Вилли.
입력
В первой строке входного файла дано целое число () --- число стеков. Во второй строке входного файла дано различных чисел () --- исходный набор чисел.
출력
В первой и единственной строке выходного файла выведите чисел () --- номер структуры данных, из которой извлекается число на -м шаге вашего решения. Данная структура не должна быть пуста.