EduBrick

Ранги

2000 мс · 256 МБ · всё или ничего

Для каждого числа выведите его ранг — номер, который оно получило бы в упорядоченном по неубыванию наборе.

Нумерация с единицы. Равные числа получают одинаковый ранг — тот, что у первого из них.

Для набора 3010201030\,10\,20\,10 ранги равны 41314\,1\,3\,1.

Формат ввода

В первой строке nn от 11 до 10510^5. Во второй — nn чисел, каждое по модулю не больше 10910^9.

Формат вывода

Одна строка: nn рангов через пробел.

Примеры

ввод
4
30 10 20 10
вывод
4 1 3 1

Примечание

Отсортированную копию можно не просматривать заново для каждого числа: std::lower_bound находит позицию первого вхождения за логарифм. Получается nlognn \log n вместо n2n^2.

Войдите, чтобы отправлять решения.