#348
Platinum II
수열과 최대 상승 쿼리
시간 제한
1s
메모리 제한
512MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

수열과 최대 상승 쿼리 (Easy)와 (Hard)는 입력 조건을 제외하고 차이가 없다.

길이가 NN인 수열 a1,a2,...,aNa_1, a_2, ..., a_N이 주어졌을 때, 다음과 같은 쿼리를 수행하는 프로그램을 작성해보자.

  • 1 k x: aka_kxx로 바꾼다.

  • 2 l r: 구간 [l,r][l, r]의 최대 상승 값을 출력한다. 구간 [l,r][l, r]의 최대 상승 값은 다음과 같이 정의한다.

max(ajai) (lijr)\max(a_j-a_i)\ (l\le i\le j \le r)

입력

첫째 줄에 수열의 길이 N(1N100 000)N(1 \le N \le 100\ 000)가 주어진다.

두 번째 줄에 수열의 원소 a1,a2,...,aNa_1, a_2, ..., a_N이 주어진다. 수열의 ii번째 원소는 정수 ai(109ai109)a_i(-10^9 \le a_i \le 10^9)이다.

세 번째 줄에 쿼리의 개수 Q(1Q100 000)Q(1 \le Q \le 100\ 000)이 주어진다.

네 번째 줄부터 QQ개의 줄에 쿼리가 주어진다.

쿼리는 1  k  x(1kN,109x109)1\ \ k\ \ x(1 \le k \le N, -10^9 \le x \le 10^9) 혹은 2  l  r(1lrN)2\ \ l \ \ r(1\le l \le r\le N)이다.

두 번째 쿼리는 적어도 하나 주어진다.

출력

두 번째 쿼리의 수행 결과를 한 줄에 하나씩 출력한다.

예제 입력 1

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

예제 출력 1

1
4
0

예제 입력 2

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

예제 출력 2

1
0
3
문제를 만든 사람
201802070_김시온
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Platinum II1명 투표· 약 2개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.