Сколько дней ждать роста цены
Просмотр в формате PDFТрейдер наблюдает цену актива в течение n дней. Для каждого дня i известна цена закрытия p_i.
Для каждого дня требуется определить, через сколько дней впервые наступит день с строго большей ценой. Иными словами, для каждого i нужно найти минимальный индекс j > i, такой что p_j > p_i, и вывести значение j - i.
Если в будущем для дня i не существует дня с более высокой ценой, то для него ответ равен 0.
Входные данные
Первая строка содержит одно целое число n — количество дней.
Вторая строка содержит n целых чисел p_1, p_2, ..., p_n — цены закрытия по дням.
Выходные данные
Выведите n целых чисел, разделённых пробелами.
Для каждого дня выведите количество дней до ближайшего следующего дня со строго большей ценой. Если такого дня нет, выведите 0.
Ограничения
1 <= n <= 2 * 10^51 <= p_i <= 10^9
Примеры
Пример 1
Входные данные
1
1
Выходные данные
0
Пример 2
Входные данные
5
5 4 3 2 1
Выходные данные
0 0 0 0 0
Комментарии