#CSP0033. 子数组的和

子数组的和

题目描述

给定一个长度为 nn 的序列 a1,a2,,ana_1,a_2,\ldots,a_n

qq 次询问,每次询问给定一个区间 [l,r][l,r]。你需要求出

$$\sum\limits_{i=l}^r \sum\limits_{j=i}^r (a_i+a_{i+1}+\ldots+a_j) $$

形式化的说:即求出子数组的所有子数组的和。

输入格式

第一行输入两个数 nnqq

接下来一行输入 nn 个正整数为 a1,a2,,ana_1,a_2,\ldots,a_n

接下来 qq 行,每行输入两个整数 l,rl,r

输出格式

一行 nn 个数,为 1n1 \sim n

5 4
2 1 3 3 1
2 4
1 4
1 5
3 3
24
44
74
3

数据规模与约定

对于 100%100\% 的数据,保证 1n,q3×1051\leq n,q\leq 3\times 10^51ai1001\leq a_i\leq 100。保证 1lrn1\leq l\leq r\leq n

  • 子任务 1(30 分):保证 n,m300n,m\leq 300
  • 子任务 2(30 分):保证 n,m3000n,m\leq 3000
  • 子任务 3(40 分):没有特殊限制。