문제
주어진 수열에 대하여 다음 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
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