페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
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

입력
1011

153
162
173
119
2110
224
2710
379
2710
167
239
출력
6

7
5

태그


출처

comkiwer

역링크