#224. 区间和

传统 3000 ms 256 MiB
标准 IO
文本比较 silly_bee 标签

题目描述

给定一长度为n的正整数序列 an{a_n},其中最大的数不超过 mm。给出 qq 个询问,每次询问子区间 lil_irir_i,要求你计算 x=1mmin(countx,x)×x\sum_{x=1}^m{min(count_x,x)\times x} 的值,其中 countxcount_x 表示 xx 在子区间 lil_irir_i 的出现次数。

输入格式

第一行一个整数 T(1T3)T(1\leq T\leq 3) 代表数据组数。 每组数据第一行三个数字 n,m,q(1n,m,q5105)n,m,q(1\leq n,m,q\leq 5*10^5)。 下面一行 nn 个数字 第 ii 个数字代表 aia_i。 接下来 qq 行,每行两个数 li,ri(1lirin)l_i,r_i(1\leq l_i \leq r_i \leq n) 表示每个询问。

输出格式

每组数据 qq 行,代表每个询问的结果。

样例

输入样例

1
9 3 5
1 2 3 3 2 1 1 2 3
1 3
1 6
3 4
6 7
1 9

输出样例

6
11
6
1
14