Outra tarefa sobre consultas em um array
Problem
Você recebe uma matriz
a de tamanho
n e
q consultas a ela. Existem dois tipos de pedidos:
-
1 li ri — realizar um deslocamento cíclico do segmento [li, ri] para a direita . Ou seja, para todo x tal que li ≤ x < ; ri, ax + 1 sub > torna-se igual ao valor anterior ax e ali torna-se igual ao valor anterior  ;ari;
-
2 li ri — inverta o segmento [li, ri].
É necessário enviar o array após todas as requisições terem sido processadas.
Entrada
A primeira linha contém dois números inteiros
n e
q (1 ≤
n,
q < /em> ≤ 2·105).
A segunda linha contém n inteiros a1, a2 sub>, ..., an (1 ≤ ai ≤ 109).
Em seguida vêm q linhas. O iésimo deles contém três números inteiros ti, li em>, ri, onde ti — digite iª consulta, [li, ri >] — segmento no qual a consulta é executada (1 ≤ ti ≤ 2, 1 ≤ l < sub>i ≤
ri ≤
n). < br />
Impressão
Imprimir
m números,
ith dos quais é igual ao número na posição
bi  ;após o processamento de todas as solicitações.
Entrar |
Saída |
6 3
|
1 3 2 6 5 4
|
(c) Kurbatov E., 2018