Kotlin Heroes 5: ICPC Round |
---|
Закончено |
Сегодня в самой большой аудитории в вашем университете пройдет $$$n$$$ лекций — все от разных лекторов, а ваша задача — выбрать, в каком порядке $$$ord$$$ они будут проходить.
Каждый лектор на протяжении всей лекции будет использовать один маркер, чтобы записывать что-либо на доске. К сожалению, маркеры пишут все хуже и хуже по мере их использования, так что некоторые лекторы могут отказаться использовать маркеры, которые пишут слишком плохо по их мнению.
Формально, у $$$i$$$-го лектора есть значение приемлемости $$$a_i$$$, которое означает, что он не будет использовать маркер, который был использован на $$$a_i$$$ или более лекций до него, и попросит заменить маркер. Более точно:
Как вы знаете, чем лучше маркер, тем легче слушателям понять, что же лектор пишет, поэтому вы хотите максимизировать количество использованных маркеров. К сожалению, начальство пристально следит за тем, сколько маркеров вы использовали, поэтому вы не можете заменять маркеры просто так перед каждой лекцией. То есть вы можете заменять маркеры только тогда, когда лектор вас попросит. Маркер считается использованным, если хотя бы один лектор использовал его для своей лекции.
Вы можете выбирать порядок $$$ord$$$, в котором лекторы читают свои лекции. Найдите такой порядок, в котором количество использованных маркеров будет максимально.
В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 100$$$) — количество наборов входных данных.
В первой строке каждого набора входных данных задано одно целое число $$$n$$$ ($$$1 \le n \le 500$$$) — количество лекций и лекторов.
Во второй строке каждого набора входных данных записаны $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le n$$$) — значение приемлемости каждого лектора.
Для каждого набора входных данных выведите $$$n$$$ целых чисел — порядок лекторов $$$ord$$$, который максимизирует количество использованных маркеров. Лекторы пронумерованы от $$$1$$$ до $$$n$$$ в порядке входных данных. Если существует несколько ответов, то выведите любой из них.
4 4 1 2 1 2 2 2 1 3 1 1 1 4 2 3 1 3
4 1 3 2 1 2 3 1 2 4 3 2 1
В первом наборе наборе входных данных, один из оптимальных порядков следующий:
Во втором наборе входных данных, использовано $$$2$$$ маркера.
В третьем наборе входных данных, использовано $$$3$$$ маркера.
В четвертом наборе, использовано $$$3$$$ маркера.
Название |
---|