Problem
Sie erhalten ein Array
A der Größe
n und
q von Abfragen dazu. Es gibt zwei Arten von Anfragen:
-
1 li ri Führen Sie eine zyklische Verschiebung des Segments [li, ri] & nbsp;nach rechts durch. Das heißt, für jedes solche & nbsp; x< / em>, что li ≤ x < ri, ax + 1  ; wird gleich dem vorherigen Wert & nbsp;ax< / sub>< / em> und & nbsp;ali< / sub>< / em> & nbsp;wird gleich dem vorherigen Wert & nbsp; ari< / sub>< / em>;< / li>
-
2li ri — drehen Sie das Segment um [li, & thinsp;ri].< / li>
< / ul>
Необходимо вывести массив после обработки всех запросов.
eingabe< / strong>
Die erste Zeile enthält zwei Ganzzahlen & nbsp;n< / em> и q (1 ≤ n, q ≤ 2·105).
Die zweite Zeile enthält n ganze Zahlen a1, a2, ..., an (1 ≤ ai ≤ 109).
Als nächstes kommen die q & nbsp;Strings. In i-y von ihnen werden drei ganze Zahlen geschrieben ti, li, ri, wobei ti — Geben Sie iAnfrage, [Li, Ri] — das Segment, auf dem die Anfrage ausgeführt wird (1 ≤ ti ≤ 2, 1 ≤ li ≤ ri ≤ n).
Ausgabe
Ausgabe m Nummern, i-E davon ist gleich der Nummer an Position bi & nbsp;nach Verarbeitung aller Anfragen.
Eingabe< / td>
|
Ausgabe< / td>
< / tr>
|
6 3< / div>
1 2 3 4 5 6< / div>
2 1 3< / div>
2 3 6< / div>
1 1 6< / div>
< / td>
1 3 2 6 5 4< / td>
< / tr>
< / tkörper>
< / Tabelle>
(c) Kurbatow E., 2018
| |