힘의 결합

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

요약
t일차 x번 집을 지나는 구간의 최대 합을 P(t,x)라 할 때, 주어진 (t,x) 직사각형 영역에서 P(t,x)의 합을 구한다.
난이도

어려움10점 중 10점

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

문제

빛이 섬 곳곳을 비추기 시작하자, 각 집에 깃든 힘의 흐름이 달라지기 시작했다. 시간에 따라 힘은 이리저리 옮겨졌고, 그 흔적은 조용히 기록되었다.

사람들은 힘의 흐름이 지나간 모든 순간을 되짚으며, 그 안에서 가장 강했던 결합의 순간을 찾아내고자 했다.

그들이 나눈 힘의 흐름을 따라가고, 잃어버린 기록을 되찾아라.


섬의 마을에는 NN개의 집이 일렬로 놓여 있으며, 집은 왼쪽부터 차례대로 11부터 NN까지의 번호가 붙어 있다.

00일째에 집 ii는 a_ia\_i만큼의 힘을 지니고 있었다.

시간이 지남에 따라 집들 사이에서 힘이 이동하는 현상이 MM일 동안 일어났다. 구체적으로, ii번째 날에는 x_ix\_i번 마을의 힘이 v_iv\_i만큼 증가하고, x_i+1x\_i+1번 마을의 힘이 v_iv\_i만큼 감소했다. (v_iv\_i는 음수일 수도 있다.)

사람들은 시간에 따른 힘의 변화를 격자에 기록했다. 예를 들어, N=4N=4, M=5M=5, a=\[3,−2,2,−2]a=\[3,-2,2,-2], x=\[3,1,2,1,2]x=\[3,1,2,1,2], v=\[−4,−2,3,2,−4]v=\[-4,-2,3,2,-4]인 경우, 각 집의 힘은 시간에 따라 아래와 같이 변한다. 이때 각 행은 날의 번호에 대응되고, 각 열은 집의 번호에 대응된다.

힘의 변화가 일어남에 따라, 몇몇 사람들은 집의 결속력을 강화하고 힘을 분배할 수 있도록 결합을 형성하고자 하였다. 결합이 형성되는 과정은 다음과 같다.

  • 결합을 형성할 날짜 tt와 결합을 이끌 집의 번호 xx를 정한다. (0≤t≤M,1≤x≤N)(0\le t\le M,1\le x\le N)
  • xx번 집을 포함하는 연속한 집의 구간 \[l,r]\[l,r]을 고른다. (1≤l≤x≤r≤N)(1\le l\le x\le r\le N)
  • 결합의 힘은 결합을 이루는 집의 힘의 합과 같다. 단, 각 집의 힘은 결합을 형성한 tt번째 날의 힘을 기준으로 한다.
    • 이때, P_txP\_{tx}를 tt와 xx의 값이 고정되었을 때 만들 수 있는 결합의 힘의 최댓값으로 정의하자.

사람들은 결합을 계획하기 위해 여러 시간대와 여러 집에 대해 가능한 결합의 힘을 비교하고자 하였다. 이 과정에서 QQ가지의 질문이 등장했는데, 그중 ii번째 질문은 다음과 같다.

  • s_i≤t≤e_is\_i\le t\le e\_i, l_i≤x≤r_il\_i\le x\le r\_i인 모든 (t,x)(t,x)에 대해, P_txP\_{tx}의 합이 무엇인가?

결합을 만드는 다양한 가능성을 살펴보고, 각각의 계획이 얼마나 강한지 알아내어 보자.

입력

첫 줄에는 세 정수 NN, MM, QQ가 공백으로 구분되어 주어진다.

둘째 줄에는 초기 집의 힘을 나타내는 NN개의 정수 a_1,a_2,⋯ ,a_Na\_1,a\_2,\cdots ,a\_N이 공백으로 구분되어 주어진다.

이후 MM개의 줄에 걸쳐, 힘의 이동에 관한 두 정수 x_ix\_i, v_iv\_i가 공백으로 구분되어 주어진다. 이는 ii번째 날에 x_ix\_i번 집의 힘이 v_iv\_i만큼 증가하고, x_i+1x\_i+1번 집의 힘이 v_iv\_i만큼 감소한다는 의미이다.

이후 QQ개의 줄에 걸쳐, 각 질문을 나타내는 네 정수 s_i,e_i,l_i,r_is\_i,e\_i,l\_i,r\_i가 공백으로 구분되어 주어진다.

출력

QQ가지 질문 각각에 대해 그 답을 109+710^9+7로 나눈 나머지를 한 줄에 하나씩 출력한다.

제한

  • 2≤N≤1052\le N\le 10^5
  • 1≤M≤1051\le M\le 10^5
  • 1≤Q≤1051\le Q\le 10^5
  • −109≤a_i≤109-10^9\le a\_i\le 10^9 (1≤i≤N)(1\le i\le N)
  • 1≤x_i\<N1\le x\_i\<N (1≤i≤M)(1\le i\le M)
  • −109≤v_i≤109-10^9\le v\_i\le 10^9 (1≤i≤M)(1\le i\le M)
  • 0≤s_i≤e_i≤M0\le s\_i\le e\_i\le M (1≤i≤Q)(1\le i\le Q)
  • 1≤l_i≤r_i≤N1\le l\_i\le r\_i\le N (1≤i≤Q)(1\le i\le Q)

예제2

  1. 예제 1

    입력
    4 5 4
    3 -2 2 -2
    3 -4
    1 -2
    2 3
    1 2
    2 -4
    1 3 1 2
    3 4 3 4
    0 2 2 2
    0 5 1 4
    
    예상 출력
    14
    6
    5
    51
    
  2. 예제 2

    입력
    3 2 9
    3 -2 1
    1 -3
    2 -2
    0 0 1 1
    0 0 2 2
    0 0 3 3
    1 1 1 1
    1 1 2 2
    1 1 3 3
    2 2 1 1
    2 2 2 2
    2 2 3 3
    
    예상 출력
    3
    2
    2
    2
    2
    2
    2
    2
    3