만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

장로 가격 로봇

면접 대비

시간 제한4초메모리 제한1024 MB

요약
각 날짜마다 그날 가격 이하인 가장 최근 과거 가격이 며칠 전인지 구하고, 그런 날이 없으면 infinity를 출력한다.
난이도

보통10점 중 5점

유형
스택, 배열, 구현, 투 포인터
정답자
아직 제출이 없습니다

문제

최신 사업 아이디어인 BarGain Overview(BGO)는 웹에서 판매되는 특정 상품의 가격 이력을 수집하는 것이다. 특정 날짜의 BarGain 점수는 그날의 가격보다 낮거나 같은 가격이었던 날로부터 며칠이 지났는지로 정의된다. 따라서 최악의 BarGain 점수는 11이고, 그날의 가격이 이전에 기록된 모든 가격보다 엄격하게 좋으면 infinity이다. 고객이 좋은 구매 시점을 찾을 수 있도록 BarGain 점수를 알려 주려 한다.

입력

첫째 줄에 가격 데이터를 수집한 날 수를 나타내는 정수 2≤n≤400 0002 \leq n \leq 400\,000이 주어진다. 둘째 줄에 nn개의 정수 p1,p2,…,pnp_1, p_2, \ldots, p_{n}가 공백으로 구분되어 주어진다. 0≤pi≤1060 \leq p_i \leq 10^6은 i−1i-1일 전의 상품 가격이다. 오늘의 가격은 p1p_1이다.

출력

가격 데이터를 수집한 각 날에 대해 한 줄씩, 총 nn개의 줄을 출력한다. ii번째 줄에는 i−1i-1일 전의 날에 대한 BarGain 점수를 출력한다.

예제1

  1. 예제 1

    입력
    6
    9 10 11 9 12 11
    
    예상 출력
    3
    2
    1
    infinity
    1
    infinity