Циклический список
Первоисточник: Неофициальный сайт белорусских олимпиад. Задачи со сборов к IOI (2002-2003). Intel-Cycle-List
URL первоисточника: http://byoi.narod.ru/
Задачу добавил: elena
Успешно сдано решений: 10
Для работы с "циклическим" списком из N целых чисел определены две операции. Операция Top переставляет первый элемент списка в конец списка, а операция Bottom переставляет последний элемент списка в начало списка. В некоторой программе всегда выполняется сначала K операций Top, а затем L операций Bottom, потом снова K операций Top, затем L операций Bottom, и так далее. Так как число выполняемых операций над списком в данной программе может быть достаточно большим, то применение стандартных подпрограмм приведет к неэффективному расходу машинного времени. К счастью, в данном случае существует достаточно простой способ ускорить определение по числу выполненных операций конечного состояния списка. Напишите программу, которая для заданного списка, K и L определяет состояние списка после X выполненных операций.
Формат входного файла input.txt
Первая строка содержит натуральные числа N, K и L (1<=N, K, L<=100).
Вторая строка содержит N целых чисел, описывающих начальное состояние списка (все числа по модулю не превышают 10000).
Третья строка содержит число X (0<=X<=2000000000).
Формат выходного файла output.txt
Первая строка - список после выполнения X операций, числа через один пробел.
Пример входного файла:
5 2 1
1 2 3 4 5
10
Пример выходного файла:
5 1 2 3 4