Universal Cup Judging System

Universal Cup

حد الوقت: 1.0 s حد الذاكرة: 1024 MB مجموع النقاط: 100
الإحصائيات

Im Jahr 2077 wird das Erstellen von Aufgaben einfach. Roboter generieren eine Aufgabe, indem sie einige zufällige Operationen festlegen, und lösen sie anschließend selbst. Ein Aufgabensteller muss nur noch prüfen, ob die Aufgabe korrekt ist oder nicht.

Hier ist eine Aufgabe aus dem Jahr 2077:

Gegeben ist eine Permutation $p_1, p_2, \dots, p_n$, wobei garantiert ist, dass $n$ gerade ist. Du möchtest die Permutation sortieren und dabei nur einen einzigen Operationstyp verwenden:

  • FakeSort(l,r): Du musst sicherstellen, dass $r - l + 1$ gerade ist. Sei $k = r - l + 1$, dann werden die größten $k/2$ Elemente und die kleinsten $k/2$ Elemente in der zusammenhängenden Teilfolge $p_l, p_{l+1}, \dots, p_r$ unabhängig voneinander sortiert. Das heißt, seien $L_1, L_2, \dots, L_{k/2}$ die Indizes der größten $k/2$ Zahlen und $S_1, S_2, \dots, S_{k/2}$ die Indizes der kleinsten $k/2$ Zahlen. Wir sortieren zuerst die Zahlen an den Indizes $L_1 \sim L_{k/2}$ und anschließend die Zahlen an den Indizes $S_1 \sim S_{k/2}$.

Hier ist ein konkretes Beispiel; angenommen, die Permutation lautet $p = \{2, 5, 7, 1, 8, 6, 4, 3\}$. Wenn wir FakeSort(2,7) aufrufen:

  • $k = r - l + 1 = 6$. Die zusammenhängende Teilfolge $p_l, p_{l+1}, \dots, p_r$ ist $\{5, 7, 1, 8, 6, 4\}$; wir sortieren die größten $3$ Zahlen und die kleinsten $3$ Zahlen dieser Folge unabhängig voneinander.
  • $p = \{2, 5, \mathbf{7}, 1, \mathbf{8}, \mathbf{6}, 4, 3\}$; die größten $3$ Zahlen sind fett gedruckt. Nach dem Sortieren wird daraus $p = \{2, 5, \mathbf{6}, 1, \mathbf{7}, \mathbf{8}, 4, 3\}$.
  • $p = \{2, \mathbf{5}, 6, \mathbf{1}, 7, 8, \mathbf{4}, 3\}$; die kleinsten $3$ Zahlen sind fett gedruckt. Nach dem Sortieren wird daraus $p = \{2, \mathbf{1}, 6, \mathbf{4}, 7, 8, \mathbf{5}, 3\}$.

Also wird $p = \{2, 5, 7, 1, 8, 6, 4, 3\}$ nach FakeSort(2,7) zu $\{2, 1, 6, 4, 7, 8, 5, 3\}$.

Bitte verwende höchstens $114$ Operationen, um die Permutation zu sortieren, oder stelle fest, dass dies unmöglich ist. Es lässt sich beweisen, dass es, falls eine Permutation mit dieser Operation sortiert werden kann, immer eine Möglichkeit gibt, die höchstens $114$ Operationen benötigt.

Eingabe

Die Eingabe enthält mehrere Testfälle. Die erste Zeile der Eingabe enthält eine ganze Zahl $T$ ($1 \le T \le 10^3$), die Anzahl der Testfälle.

Für jeden Testfall enthält die erste Zeile eine gerade ganze Zahl $n$ ($4 \le n \le 10^5$), die Länge der Permutation.

Die zweite Zeile enthält $n$ ganze Zahlen $p_1, p_2, \dots, p_n$ ($1 \le p_i \le n$), die Permutation, die du sortieren musst. Es wird garantiert, dass $p$ eine Permutation ist.

Es wird garantiert, dass die Summe von $n$ über alle Testfälle hinweg $2 \times 10^5$ nicht überschreitet.

Ausgabe

Für jeden Testfall gib $-1$ aus, falls es unmöglich ist, die Permutation zu sortieren.

Andernfalls gib eine ganze Zahl $k$ ($0 \le k \le 114$) aus, die die Anzahl der verwendeten Operationen angibt.

Gib in den folgenden $k$ Zeilen jeweils $l, r$ ($1 \le l \le r \le n$, $r - l + 1$ ist gerade) aus, was die Ausführung von FakeSort(l,r) bedeutet.

Beispiele

Beispieleingabe 1

3
4
2 1 4 3
6
3 6 5 1 2 4
8
3 2 1 7 5 4 6 8

Beispielausgabe 1

1
1 4
-1
2
4 7
1 6

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1071EditorialOpenNew Editorial for Problem #15316ZnPdCoView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.