import sys
from typing import List
# Accepted, Runtime: 232ms
def solve(n: int, nums: List[int]) -> List[str]:
ret = [] # 연산 리스트
stack = [] # 스택
cur = 1 # push 하는 수
for num in nums:
# 스택 top 이 num 과 같아질 때 까지 스택에 push
while cur <= num:
stack.append(cur)
ret.append('+')
cur += 1
# 스택 top이 num 과 같다면 pop
if stack[-1] == num:
stack.pop()
ret.append('-')
# 스택 top이 num 과 다르면 불가능
else:
return []
return ret
n = int(sys.stdin.readline())
nums = [int(sys.stdin.readline()) for _ in range(n)]
ans = solve(n, nums)
print('NO' if not ans else '\n'.join(ans))
스택 리스트를 따로 만든다...