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

#3238

구간의 최대값2 1초 256MB

문제

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

 

수열의 데이터는 배열의 1번 인덱스부터 N번 인덱스에 걸쳐 저장된다고 가정한다.​

 

* 1 k val : 수열의 k번째에 val을 입력한다. 이미 값이 입력되어 있다면 val로 수정한다.

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

            출력할 것이 없다면 아무것도 출력하지 않는다.

​* 3 k     : 수열의 k번째 값을 지운다.   지울 것이 없다면 아무일도 하지 않는다.

 


입력

첫 행에 수열의 길이 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
2 7 10
1 5 7
2 3 9
출력
9

3
7

[예제 설명]


출처

comkiwer

역링크 공식 문제집만