QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 512 MB Puntuación total: 100 Hackeable ✓

#17774. Упорядочивание ежегодника

Estadísticas

Фон

Чаепитие подходит к концу, и в качестве эксклюзивного ностальгического элемента празднования десятой годовщины Сяо Т. подготовил ценные архивы THUPC — ряд ежегодников, в которых запечатлены десять лет истории соревнований, чтобы все могли с ними ознакомиться.

После просмотра они собираются вернуть ежегодники на книжную полку. Из-за прошедшего времени степень износа ежегодников оказалась различной. Сяо С. предлагает при возвращении на полку расставить их в порядке строгого возрастания степени износа, чтобы наглядно продемонстрировать следы времени. Однако бумага ежегодников стала очень хрупкой, и каждый раз можно лишь крайне осторожно переместить одну книгу на одну позицию вперед, что неизбежно немного увеличивает степень износа этого ежегодника. Более того, время на сортировку ограничено. Сяо С. хочет знать, можно ли за ограниченное число операций вернуть эти ежегодники на полку и привести их в порядок?

Описание задачи

На книжной полке стоит $n$ ежегодников. Изначально степень износа $i$-го ($1 \le i \le n$) ежегодника равна $a_i$.

При каждом перемещении необходимо выбрать позицию $p$ ($1 \le p \le n - 1$), после чего переместить $(p+1)$-й ежегодник перед $p$-м ежегодником. После такого перемещения степень износа этого ежегодника увеличивается на $1$.

Из-за ограниченного времени можно выполнить не более $n^2 - n$ перемещений. Вам необходимо помочь Сяо С. спланировать конкретную последовательность перемещений так, чтобы в итоге степени износа ежегодников на полке слева направо строго возрастали.

Входные данные

Каждый тест содержит несколько наборов входных данных. Первая строка содержит целое число $T$ ($1 \le T \le 10$), количество наборов данных. Для каждого набора данных: Первая строка содержит целое число $n$ ($2 \le n \le 500$), количество ежегодников. Вторая строка содержит $n$ целых чисел $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$), представляющих начальную степень износа каждого ежегодника.

Выходные данные

Для каждого набора данных, если существует допустимый план перемещений: В первой строке выведите целое неотрицательное число $k$ ($0 \le k \le n^2 - n$), количество перемещений. Во второй строке выведите $k$ целых чисел $p_1, p_2, \dots, p_k$ ($1 \le p_i \le n - 1$), обозначающих выбранную позицию для каждого перемещения.

Если невозможно добиться того, чтобы степени износа ежегодников на полке слева направо строго возрастали, выведите единственное число $-1$.

Примеры

Входные данные 1

3
2
1 2
2
2 1
3
4 5 1

Выходные данные 1

0

-1
2
2 1

Примечание

Для первого набора данных степени износа ежегодников на полке изначально строго возрастают слева направо.

Для второго набора данных можно доказать, что невозможно за $n^2 - n$ перемещений добиться того, чтобы степени износа ежегодников на полке слева направо строго возрастали.

Для третьего набора данных один из возможных планов перемещений выглядит так: Первое перемещение: выбрана позиция $2$, степени износа ежегодников становятся $[4, 2, 5]$. Второе перемещение: выбрана позиция $1$, степени износа ежегодников становятся $[3, 4, 5]$.

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.