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

입력
1011

153
162
173
119
2110
224
2710
37
2710
157
239
출력
9

3
7

[예제 설명]


출처

comkiwer

역링크