시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB22131372.222%

문제

길이가 $N$인 정수 배열 $A$와 쿼리 $Q$개가 주어진다. 각 쿼리는 다음 두 종류 중 하나이다.

  • 1 x v: $A_x$의 값을 $v$로 바꾼다.
  • 2 l r: $max(i,j) =\max_{i\le k\le j}A_k$, $min(i,j) =\min_{i\le k\le j}A_k$, $sum(i,j) =\sum_{i\le k\le j}A_k$로 정의할 때, $\max_{l\le i\le j\le r}max(i,j) -min(i,j) +sum(i,j)$의 값을 출력한다.

모든 쿼리를 올바르게 처리하는 프로그램을 작성하여라.

입력

첫 번째 줄에 배열의 길이 $N$과 쿼리의 개수 $Q$가 공백으로 구분되어 주어진다. $(1\le N,Q\le 100\, 000)$

두 번째 줄에 배열 $A$의 원소 $A_1,\cdots ,A_N$이 공백으로 구분되어 주어진다. $(-10^9\le A_i\le 10^9)$

세 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 아래와 같은 형식 중 하나로 주어진다.

  • 1 x v $(1\le x\le N;-10^9\le v\le 10^9)$
  • 2 l r $(1\le l\le r\le N)$

$2$번 쿼리가 하나 이상 주어진다.

출력

각 $2$번 쿼리의 답을 한 줄에 하나씩 차례대로 출력한다.

예제 입력 1

6 6
1 -3 4 -2 5 6
2 1 5
1 3 -1
2 1 5
2 3 6
1 5 0
2 1 6

예제 출력 1

14
10
17
12

출처

University > POSTECH > 2025 POSTECH Programming Contest > Contest F번

University > POSTECH > 2025 POSTECH Programming Contest > Open Contest F번