PivotOJ

Interview Queue

시간 제한: 4000ms메모리 제한: 1024MB출처: ICPC Rocky Mountain Regional 2020BOJ 21201

문제

A very popular position has just opened up at Poodle Inc. Candidates have formed a queue while they wait for their turn to be interviewed.

Competition is fierce and each candidate knows that they will not be selected if another candidate is strictly better than them. Every minute, each candidate looks at the resumé of candidates who are currently adjacent to them in the queue (ahead and behind). If at least one of the neighbour's resumé's perceived value is strictly greater than their resumé's perceived value, they leave the queue since they do not want to waste their time. The candidates all look at their neighbor's resumé simultaneously, and then some candidates leave the queue simultaneously.

This process continues until no more candidates leave the queue. Determine the number of minutes that pass while this process takes place. Report the values of the candidates that leave the queue in each round. Also report the final state of the queue.

입력

The first line of input contains a single integer NN (1N1000001 \leq N \leq 100\,000), which is the number of candidates.

The second line contains NN integers v1,,vNv_1, \ldots, v_N (0vi1090 \leq v_i \leq 10^9 for each 1iN1 \leq i \leq N), where viv_i is the perceived value of the ithi^\textrm{th} candidate.

출력

Display MM, the number of minutes taken by this process. Then display MM lines. The ithi^\textrm{th} line should contain the perceived values of the candidates who left the queue in the ithi^\textrm{th} minute in the same relative order that they appeared in the queue. Finally display a line indicating the final list of perceived values in the queue after candidates no longer leave it.

예제

예제 1

입력
10
3 6 2 3 2 2 2 1 5 6
출력
2
3 2 2 1 5
3 2 2
6 6

예제 2

입력
3
17 17 17
출력
0
17 17 17

예제 3

입력
7
8 1 2 3 5 6 7
출력
2
1 2 3 5 6
7
8
코드를 제출하려면 로그인하세요.