Un'altra attività sulle query in un array
Problem
Ti viene fornito un array
a di dimensioni
n e
q query ad esso. Esistono due tipi di richieste:
-
1 li ri — eseguire uno spostamento ciclico del segmento [li, ri] verso destra . Cioè, per ogni x tale che li ≤ x < ; ri, ax + 1 sub > diventa uguale al valore precedente ax e ali diventa uguale al valore precedente  ;ari;
-
2 li ri — inverti il segmento [li, ri].
È necessario emettere l'array dopo che tutte le richieste sono state elaborate.
Inserimento
La prima riga contiene due numeri interi
n e
q (1 ≤
n,
q < /em> ≤ 2·105).
La seconda riga contiene n interi a1, a2< / sub>, ..., an (1 ≤ ai ≤ 109).
Poi vengono q linee. La iesima contiene tre numeri interi ti, li em>, ri, dove ti — digita iesima query, [li, ri em >] — segmento su cui viene eseguita la query (1 ≤ ti ≤ 2, 1 ≤ l < sub>i ≤
ri ≤
n).
Impressum
Stampa
m numeri,
iesimo dei quali è uguale al numero nella posizione
bi  ;dopo che tutte le richieste sono state elaborate.
Entra |
Uscita |
6 3
|
1 3 2 6 5 4
|
(c) Kurbatov E., 2018