스택 수열


답안 제출

Points: 9
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

\(1\)부터 \(n\)까지의 정수를 오름차순으로 한 번씩 스택에 넣을 수 있다.

스택의 가장 위에 있는 수를 꺼내는 동작을 이용해 주어진 수열을 만들 수 있는지 판별하라.

만들 수 있다면 스택에 넣는 동작은 +, 꺼내는 동작은 -로 출력한다.

입력

첫째 줄에 정수 \(n\)이 주어진다.

둘째 줄부터 \(n\)개의 줄에 만들어야 하는 수열이 한 줄에 하나씩 주어진다.

수열에는 \(1\)부터 \(n\)까지의 정수가 정확히 한 번씩 등장한다.

\((1 \le n \le 100000)\)

출력

수열을 만들 수 있다면 필요한 +, - 동작을 한 줄에 하나씩 출력한다.

만들 수 없다면 NO를 출력한다.

예제 입력 1

8
4
3
6
8
7
5
2
1

예제 출력 1

+
+
+
+
-
-
+
+
-
+
+
-
-
-
-
-

예제 입력 2

3
3
1
2

예제 출력 2

NO

코멘트

현재 작성된 코멘트가 없습니다.