2864: 去重子段和
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:7
解决:1
题目描述
对于一串可能存在重复元素的无序数字a1,a2,a3,...,an(a, n<200000),进行q次询问(q<200000)。每次询问提供一个L和一个R(1<=L<=R<=n),需要求得集合{aL,a(L+1),...,a(R-1),aR}的和,即为a在[L, R]上的去重子段和。(因为集合中不存在重复的元素,所以实际求和时大小重复的元素只加一次,故称为去重)
输入
输入第一行为一个整数T(T<5),代表有T组测试样例。接下来每组测试样例的第一行是两个整数n, q。第二行是n个整数代表a数列。第3行到第(q+2)行每行有两个数,分别代表每次询问的L和R。
输出
每次询问输出一行,每行一个整数代表该次询问得到的去重子段和。
样例输入 复制
2
3 2
4 4 5
1 2
2 3
10 4
2 4 5 6 6 3 6 7 7 8
3 5
2 6
4 8
7 10
样例输出 复制
4
9
11
18
16
21
提示
输入文件较大,请尽量使用scanf输入