eolymp
bolt
Try our new interface for solving problems
Məsələlər

Сортировка очередями

Сортировка очередями

Очередь - структура данных, основанная на принципе «первый пришел - первый вышел» (FIFO, First In - First Out). Добавление элемента возможно только в конец очереди, извлечение - только из начала очереди. Таким образом, элементы извлекаются из очереди в том же порядке, в котором они были в нее добавлены.

Задача сортировки состоит в упорядочивании заданного массива чисел (или других объектов) по возрастанию или убыванию. У этой задачи существует достаточно многих вариантов, для многих из которых существуют весьма эффективные алгоритмы.

Далее в задаче рассматривается специальное устройство, содержащее входной поток, выходной поток и k очередей, пронумерованных числами от 1 до k.

Ваша задача состоит в том, чтобы по заданной последовательности различных чисел, которую требуется отсортировать, составить программу для этого устройства, которая будет выводить в выходной поток те же числа, что поступили во входной поток, но упорядоченные по возрастанию.

Программа должна содержать ровно 2n операций, каждая из которых либо читает число из входного потока и добавляет его в одну из очередей, либо извлекает число из одной из очередей и выводит его в выходной поток.

Входные данные

Первая строка содержит целое число n (1n300). Вторая строка содержит n различных целых чисел a1, ..., an в том порядке, в котором они поступают из входного потока (1ai109 для всех i от 1 до n). Третья строка содержит целое число k (1kn).

Выходные данные

Если сортировку выполнить невозможно, выведите слово NO.

Иначе выведите слово YES и 2n строк, задающих программу сортировки. Каждая из этих строк должна описывать одну операцию и иметь следующий формат:

  • I(j) - считать элемент из входного потока и добавить его в очередь номер j (1jk);
  • R(j) - извлечь элемент из очереди номер j (1jk) и вывести его в выходной поток.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 122.17 MiB
Giriş verilənləri #1
4
5 1 4 10
2
Çıxış verilənləri #1
YES
I(1)
I(2)
I(2)
I(1)
R(2)
R(2)
R(1)
R(1)
Giriş verilənləri #2
4
5 1 4 10
1
Çıxış verilənləri #2
NO
Mənbə Russian-Code-Cup-2011 3-й кв. раунд