Contest.samsu.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Циклический список

Первоисточник: Неофициальный сайт белорусских олимпиад. Задачи со сборов к 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

Сдать задачу

Задать вопрос жюри по этой задаче