QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓

#14511. Нельзя воровать еду

統計

После окончания тренировки Сяочжу с двумя товарищами по команде и тренером — всего четыре человека — договорились пойти поужинать. Они выбрали ресторан «Бифэнтан» и заказали много закусок, таких как креветочные пельмени, рисовые рулетики с креветками, жареные голуби и т. д.

Всего они заказали $n$ блюд, причём $i$-е блюдо содержит $a_i$ закусок. Чтобы порции были равными, общее количество закусок обязательно кратно 4. Однако из-за медленной подачи блюд, а также того, что количество закусок в каждом блюде не обязательно кратно 4, закуски часто подаются на стол порциями.

Каждый раз, когда подается новое блюдо, если общее количество закусок на столе становится не меньше 4, четверо человек съедают по одной закуске каждый, пока оставшееся количество закусок не станет меньше 4. Из-за медленной подачи блюд, до того как на стол попадет новая порция, количество закусок на столе всегда остается меньше 4.

Однако Сяочжу любит воровать еду! Чтобы его не заметили, Сяочжу быстро съедает одну закуску только тогда, когда на столе остается ровно 1 закуска. После того как Сяочжу ворует еду, остальные ошибочно полагают, что ресторан подал недостаточно еды, и жалуются на него. Вы, как менеджер ресторана «Бифэнтан», не можете ускорить подачу блюд, но можете изменить порядок подачи каждого блюда.

Теперь определите, существует ли такой порядок подачи блюд, при котором у Сяочжу не будет возможности украсть закуску, чтобы избежать жалоб клиентов?

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

Задача содержит несколько наборов входных данных. В первой строке содержится целое число $T$ ($1 \le T \le 10^4$), количество наборов данных.

Для каждого набора данных: В первой строке содержится целое число $n$ ($1 \le n \le 10^5$), количество заказанных блюд. В следующей строке содержатся $n$ целых чисел $a_1, \dots, a_n$ ($1 \le a_i \le 100$). Гарантируется, что $\sum_{i=1}^n a_i$ кратно 4, а сумма $n$ по всем $T$ наборам данных не превышает $10^5$.

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

Для каждого набора данных: Если Сяочжу украдет закуску при любом порядке подачи, выведите -1. В противном случае выведите перестановку $p_1, \dots, p_n$, представляющую порядок подачи блюд. $i$-м по счету подается блюдо $p_i$. Если существует несколько вариантов ответа, выведите любой из них.

Примеры

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

3
4
4 6 3 3
4
1 3 3 1
4
1 1 1 1

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

3 1 4 2
2 3 4 1
-1

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.