설국

시간 제한2초메모리 제한1024 MB

요약
도시별 눈 높이와 갱신 쿼리가 주어질 때, 구간의 모든 값을 같게 만드는 인접 감소 연산의 최소 횟수를 구한다.
난이도

어려움10점 중 8점

유형
세그먼트 트리, 동적 계획법, 그리디, 누적 합
정답자
아직 제출이 없습니다

문제

”국경의 긴 터널을 빠져나오자, 월향이었다.”

월향은 11번 도시부터 NN번 도시까지 총 NN개의 도시가 일렬로 나열된 아름다운 눈의 고장이다. 현재 ii번 도시에는 A_iA\_{i}만큼의 눈이 쌓여있다. ll번 도시부터 rr번 도시까지를 제설한다는 것은, A_l=A_l+1=⋯=A_rA\_{l}=A\_{l+1}=\cdots =A\_{r}이 되도록 제설기를 적절히 사용하는 것이다. 제설기를 한번 사용해 아래와 같은 작업을 할 수 있다.

  • l≤p\<rl\leq p\<r이고 A_pA\_{p}와 A_p+1A\_{p+1}이 전부 11 이상인 정수 pp를 골라, A_pA\_{p}와 A_p+1A\_{p+1}을 각각 11씩 감소시킨다.

월향의 제설 담당자인 당신은 다음 두 가지 쿼리를 처리해야 한다.

  • 11 ii vv: ii번 도시에 쌓인 눈의 양이 vv로 변경된다. (1≤i≤N;0≤v≤109)(1\leq i\leq N;0\leq v\leq 10^9)
  • 22 ll rr: ll번 도시부터 rr번 도시까지를 제설하기 위해 필요한 제설기 사용횟수의 최솟값을 출력한다. 불가능하다면 -1을 출력한다. (1≤l\<r≤N)(1\leq l\<r\leq N)

입력

첫째 줄에 도시의 개수 NN이 주어진다. (2≤N≤200 000)(2 \leq N \leq 200\ 000)

다음 줄에 각 도시에 쌓인 눈의 양을 나타내는 정수 A_1,A_2,⋯ ,A_NA\_{1}, A\_{2}, \cdots , A\_{N}이 공백으로 구분되어 주어진다. (0≤A_i≤109)(0 \leq A\_{i} \leq 10^9)

다음 줄에 쿼리의 개수 QQ가 주어진다. (1≤Q≤200 000)(1 \leq Q \leq 200\ 000)

다음 QQ개의 줄에 걸쳐 각 쿼리가 주어진다.

22 ll rr 쿼리는 하나 이상 주어진다.

출력

각각의 22 ll rr 쿼리에 대해 답을 한 줄에 하나씩 주어진 순서대로 출력한다.

예제1

  1. 예제 1

    입력
    5
    1 3 2 4 4
    4
    2 1 3
    2 2 5
    1 3 3
    2 2 5
    
    예상 출력
    3
    -1
    1