Наступний більший елемент
Переглянути як PDFЗадано масив із ~n~ цілих чисел ~a_1, a_2, \ldots, a_n~.
Для кожного індексу ~i~ (~1 \le i \le n~) знайдіть індекс найближчого праворуч елемента, який строго більший за ~a_i~. Якщо такого елемента не існує (тобто всі елементи праворуч від ~a_i~, включно з ним самим, не перевищують ~a_i~), виведіть для цього індексу значення ~-1~.
Формально: потрібно знайти найменший індекс ~j > i~ такий, що ~a_j > a_i~, або ~-1~, якщо такого ~j~ не існує.
Вхідні дані
- Перший рядок містить одне ціле число ~n~ (~1 \le n \le 2 \cdot 10^5~).
- Другий рядок містить ~n~ цілих чисел ~a_1, a_2, \ldots, a_n~ (~-10^9 \le a_i \le 10^9~).
Вихідні дані
Виведіть ~n~ цілих чисел через пробіл: для кожного ~i~ — індекс найближчого праворуч більшого елемента (нумерація індексів від ~1~), або ~-1~, якщо такого немає.
Приклади
Приклад 1
Вхідні дані:
5
2 1 5 3 4
Вихідні дані:
3 3 -1 5 -1
Пояснення: для ~a_1=2~ найближчий більший праворуч — ~a_3=5~ (індекс ~3~). Для ~a_2=1~ — теж ~a_3=5~ (індекс ~3~). Для ~a_3=5~ більшого елемента праворуч немає — ~-1~. Для ~a_4=3~ — ~a_5=4~ (індекс ~5~). Для ~a_5=4~ праворуч нічого немає — ~-1~.
Приклад 2
Вхідні дані:
4
4 3 2 1
Вихідні дані:
-1 -1 -1 -1
Пояснення: масив спадає, тому для кожного елемента праворуч немає більшого.
Приклад 3
Вхідні дані:
1
100
Вихідні дані:
-1
Коментарі