만드는 중입니다

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

히스토그램 수열 3

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

요약
히스토그램 수열을 펼쳐 만든 높이 수열이 주어질 때, 이를 만들어 내는 히스토그램 수열을 아무거나 하나 복원한다.
난이도

보통10점 중 4점

유형
구현, 배열, 시뮬레이션, 그리디
정답자
아직 제출이 없습니다

문제

변의 길이가 a1,a2,⋯ ,ana_1, a_2, \cdots, a_n인 정사각형 nn개로 이루어진 히스토그램을 생각하자. 이 히스토그램의 히스토그램 수열을 (a1,a2,⋯ ,an)(a_1, a_2, \cdots, a_n)이라 부르자.

이 히스토그램에서 각 열의 높이를 생각하자. 처음 a1a_1개의 열은 높이가 a1a_1이고, 그 다음 a2a_2개의 열은 높이가 a2a_2이며, ..., 마지막 ana_n개의 열은 높이가 ana_n이다. 이제 높이 수열 (b1,b2,⋯ ,ba1+a2+⋯+an)(b_1, b_2, \cdots, b_{a_1 + a_2 + \cdots + a_n})을 정의하자. 여기서 bj (1≤j≤a1+a2+⋯+an)b_j\ (1 \le j \le a_1+a_2+\cdots+a_n)는 jj번째 열의 높이이다.

예를 들어 히스토그램 수열이 (3,2,1,4)(3, 2, 1, 4)인 히스토그램의 높이 수열은 (3,3,3,2,2,1,4,4,4,4)(3, 3, 3, 2, 2, 1, 4, 4, 4, 4)이다.

높이 수열이 주어졌을 때 히스토그램 수열을 구하는 프로그램을 작성하라.

입력

첫째 줄에 높이 수열 {bi}\{b_i\}의 길이를 나타내는 정수 m (1≤m≤106)m\ (1 \le m \le 10^6)이 주어진다.

둘째 줄에 높이 수열을 이루는 mm개의 정수가 주어진다. 구체적으로 ii번째 정수는 bi (1≤bi≤m)b_i\ (1 \le b_i \le m)이다.

입력으로 주어지는 높이 수열은 올바른 히스토그램 수열에 대응한다.

출력

주어진 높이 수열에 대응하는 히스토그램 수열을 (a1,a2,⋯ ,an)(a_1, a_2, \cdots, a_n)이라 할 때, a1,a2,⋯ ,ana_1, a_2, \cdots, a_n을 한 줄에 출력한다. 답이 여러 개라면 그중 아무거나 출력해도 된다.

예제2

  1. 예제 1

    입력
    10
    3 3 3 2 2 1 4 4 4 4
    
    예상 출력
    3 2 1 4
    
  2. 예제 2

    입력
    5
    2 2 2 2 1
    
    예상 출력
    2 2 1