시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB47115711131.180%

문제

"신촌 연합에서도 쿼리 문제가 많이 나오면 좋겠어!"

어렸을 적 djs100201의 작은 꿈이었다.

신촌 연합의 첫 수열과 쿼리 문제를 풀어보자.

길이가 $N$인 정수 수열 $a_1,$ $a_2,$ $\cdots,$ $a_N$이 주어진다. 

이때 다음과 같은 쿼리를 수행하는 프로그램을 작성하시오. 

  • $1$ $i$ $j$ : $a_i$를 $j$로 바꾼다. ($1 \le j \le 10^9$)
  • $2$ $i$ $j$ : 다음 조건을 만족하는 구간 [$l$, $r$]중에 구간합의 최댓값을 구한 뒤 출력한다. ($1 \le j \le a_i$)

조건: $l \le i \le r$ 이면서, $a_l$ 부터 $a_r$ 까지 모든 원소는 $j$ 이상이다. 

입력

첫째 줄에 수열의 크기 $N$이 주어진다. ($1 \le N \le 200\,000$)

둘째 줄에는 수열의 원소 $a_1,$ $a_2,$ $\cdots,$ $a_N$ 이 주어진다. ($1 \le a_i \le 10^9$)

셋째 줄에는 쿼리의 개수 $M$이 주어진다. ($1 \le M \le 200\,000$)

넷째 줄부터 한 줄에 하나씩 총 $M$개의 쿼리가 주어진다.

쿼리마다 입력으로 들어오는 $i$와 $j$는 정수이며, 문제에서 설명한 범위를 만족한다.

출력

$2$번 쿼리가 주어질때마다 정답을 한줄에 하나씩 출력한다.

예제 입력 1

4
1 3 2 4
3
1 1 3
2 2 3
2 4 2

예제 출력 1

6
12

출처

Camp > ICPC Sinchon Algorithm Camp > 2021 ICPC Sinchon Summer Algorithm Camp Contest > 중급 D번