페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3239

구간의 최소값 2초 256MB

문제

주어진 수열에 대하여 다음 3가지 명령을 수행하는 프로그램을 작성하시오.

 

* 1 k val : 수열의 k번 index에 값을 입력한다. 

이미 값이 입력되어 있다면  val로 수정한다.

​* 2 s e   : 수열의 [s, e]구간의 최소값을 갖는 index를 구하여 행으로 구분하여 출력한다.

같은 값을 갖는 index가 여러 개 있는 경우 index가 최소인 것을 출력한다.

출력할 대상이 없는 경우 출력하지 않는다.

​* 3 s e   : 수열의 [s, e]구간의 최소값을 갖는 index를 구하여 지운다.

같은 값을 갖는 index가 여러 개 있는 경우 index가 최소인 것을 지운다. 

지울 대상이 없는 경우 그대로 둔다.


입력

첫 행에 수열의 길이 N과 명령의 수 M이 입력된다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 300,000)

수열의 각 원소가 갖는 수의 범위는 -10억 ~ 10억 이다.

다음 M개의 행에 명령들이 주어진다.


출력

명령 2에 대한 출력결과를 행으로 구분하여 출력한다.

명령 2에 대하여 출력할 값이 없는 경우 출력하지 않는다.


예제1

입력
10 11

1 5 3
1 6 2
1 7 3
1 1 9
2 1 10
2 2 4
2 7 10
3 7 9
2 7 10
1 6 7
2 3 9
출력
6

7
5

태그


출처

comkiwer

역링크 공식 문제집만