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