Для этой задачи необходимо ознакомиться с функцией lower_bound.
Сжатием координат массива размера n называют сопоставление его элементов целым числам от 0 до n-1 с сохранением относительного порядка. То есть, чтобы для любых a и b из исходного массива выполнялось следующее: если a = b, то a' = b' и если a < b, то a' < b', при условии, что сжатие координат превращает a в a' и b в b'.
Вам дано q запросов, где для каждого запроса вам дан массив целых чисел размера n
i, и вам необходимо произвести его сжатие координат и вывести результат.
Входные данные:
В первой строке дано число q (1 <= q <= 20) - число запросов.
Далее для каждого запроса сперва в отдельной строке дается число n
i (1 <= n
i <= 5000) - размер массива, затем в следующей строке дается n
i целых чисел, по модулю не превышающих 10
9 - элементы массива.
Выходные данные:
Для каждого запроса в отдельной строке выведите результат сжатия координат данных массивов.
Примеры:
Входные данные |
Выходные данные |
2
5
300 -200 100 400 100
3
3 3 3 |
2 0 1 3 1
0 0 0 |