문제
초기에 비어있는 수열을 아래 네 가지 명령을 수행해나가며 관리한다.
1) 1 pos value
: insert
: pos = 0(수열 맨 앞에 value 추가)
= 1(수열 맨 뒤에 value 추가)
2) 2 pos value
: erase
: pos = 0(앞에서부터 value 이상인 값을 최대 3개 지운다)
= 1(뒤에서부터 value 이상인 값을 최대 3개 지운다)
3) 3 value
: sort
: value 기준, 가까운 순(|value-x|가 작은 순)으로 정렬한다.
: 가까운 정도가 같다면 작은 값이 우선이다.
3) 4 pos
: 한줄에 공백으로 구분하여 수열의 모든 값을 출력한다.
: pos = 0(앞에서부터 출력)
= 1(뒤에서부터 출력)
입력
입력의 첫 줄에는 명령 수 q가 주어진다.
두번째 줄부터 q개 줄에 걸쳐 명령이 세개의 정수(cmd, pos, value)로 주어진다,
3 <= q <= 1,000
1 <= cmd <= 4
0 <= pos <= 1
0 <= value <= 1,000
예제
14
1 1 1
1 1 2
1 1 3
1 1 4
1 1 1
1 0 2
4 0
3 3
4 0
2 1 3
4 0
2 0 1
1 0 10
4 1
2 1 2 3 4 1
3 2 2 4 1 1
2 2 1 1
1 10
출처
teriusu