luogu#P7908. [Ynoi2005] qwq

[Ynoi2005] qwq

题目描述

定义初始数列为每个数字都为 00 的数列。

定义一次操作为将数列的一个区间中每一个数的值增加 11,规定该区间的长度不能超过 mm

给定一个长度为 nn 的数列 aa,第 ii 个数为 aia_i

你需要回答 qq 次询问。每次询问给定 l,rl,r,你需要回答将一个长度为 rl+1r-l+1 的初始数列变为 aa 中的 [l,r][l,r](即数列 ala_l, al+1a_{l+1}, \cdots, ara_r)至少需要多少次操作。

输入格式

第一行三个整数 n,m,qn,m,q

第二行 nn 个整数,第 ii 个为 aia_i

接下来 qq 行,每行两个整数,表示 l,rl,r

输出格式

qq 行,每行一个整数,表示至少需要的操作次数。

5 4 1
1 1 2 1 1
1 5
2
10 3 3
4 8 1 2 9 7 4 1 3 5
1 10
3 8
5 5
22
10
9

提示

「样例 1 说明」

一个长度为 55 的初始数列为 00 00 00 00 00

第一次操作为,将区间 [1,3][1,3] 中每一个数,即第 112233 个数的值分别增加 11。经过该操作后,数列变为 11 11 11 00 00

第二次操作为,将区间 [3,5][3,5] 中每一个数,即第 334455 个数的值分别增加 11。经过该操作后,数列变为 11 11 22 11 11

「数据范围与约定」

  • Subtask 1(1 point):m=1m=1
  • Subtask 2(4 points):m=nm=n
  • Subtask 3(10 points):n,q300n,q\le300
  • Subtask 4(10 points):n,q5×103n,q\le5\times10^3
  • Subtask 5(15 points):m5m\le5
  • Subtask 6(15 points):m100m\le100
  • Subtask 7(20 points):n,q5×104n,q\le5\times10^4
  • Subtask 8(25 points):无特殊限制。

对于 100%100\% 的数据,保证 1mn1051\le m\le n\le10^51q1051\le q\le10^50ai1090\le a_i\le10^91lrn1\le l\le r\le n