Preparando MOJI

Used Markers

3000ms 262144K

Description:

Your University has a large auditorium and today you are on duty there. There will be $$$n$$$ lectures today — all from different lecturers, and your current task is to choose in which order $$$ord$$$ they will happen.

Each lecturer will use one marker to write something on a board during their lecture. Unfortunately, markers become worse the more you use them and lecturers may decline using markers which became too bad in their opinion.

Formally, the $$$i$$$-th lecturer has their acceptance value $$$a_i$$$ which means they will not use the marker that was used at least in $$$a_i$$$ lectures already and will ask for a replacement. More specifically:

  • before the first lecture you place a new marker in the auditorium;
  • before the $$$ord_j$$$-th lecturer (in the order you've chosen) starts, they check the quality of the marker and if it was used in at least $$$a_{ord_j}$$$ lectures before, they will ask you for a new marker;
  • if you were asked for a new marker, then you throw away the old one, place a new one in the auditorium, and the lecturer gives a lecture.

You know: the better the marker — the easier for an audience to understand what a lecturer has written, so you want to maximize the number of used markers. Unfortunately, the higher-ups watch closely how many markers were spent, so you can't just replace markers before each lecture. So, you have to replace markers only when you are asked by a lecturer. The marker is considered used if at least one lecturer used it for their lecture.

You can choose the order $$$ord$$$ in which lecturers will give lectures. Find such order that leads to the maximum possible number of the used markers.

Input:

The first line contains one integer $$$t$$$ ($$$1 \le t \le 100$$$) — the number of independent tests.

The first line of each test case contains one integer $$$n$$$ ($$$1 \le n \le 500$$$) — the number of lectures and lecturers.

The second line of each test case contains $$$n$$$ integers $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le n$$$) — acceptance values of each lecturer.

Output:

For each test case, print $$$n$$$ integers — the order $$$ord$$$ of lecturers which maximizes the number of used markers. The lecturers are numbered from $$$1$$$ to $$$n$$$ in the order of the input. If there are multiple answers, print any of them.

Sample Input:

4
4
1 2 1 2
2
2 1
3
1 1 1
4
2 3 1 3

Sample Output:

4 1 3 2
1 2
3 1 2
4 3 2 1

Note:

In the first test case, one of the optimal orders is the following:

  1. the $$$4$$$-th lecturer comes first. The marker is new, so they don't ask for a replacement;
  2. the $$$1$$$-st lecturer comes next. The marker is used once and since $$$a_1 = 1$$$ the lecturer asks for a replacement;
  3. the $$$3$$$-rd lecturer comes next. The second marker is used once and since $$$a_3 = 1$$$ the lecturer asks for a replacement;
  4. the $$$2$$$-nd lecturer comes last. The third marker is used once but $$$a_2 = 2$$$ so the lecturer uses this marker.
In total, $$$3$$$ markers are used.

In the second test case, $$$2$$$ markers are used.

In the third test case, $$$3$$$ markers are used.

In the fourth test case, $$$3$$$ markers are used.

Informação

Codeforces

Provedor Codeforces

Código CF1431D

Tags

*specialgreedy

Submetido 0

BOUA! 0

Taxa de BOUA's 0%

Datas 09/05/2023 10:07:46

Relacionados

Nada ainda