初始化前缀和数组
区间l-r的和是 s[r]-s[l-1] 类似于数列
#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N], s[N];
int n, q;
int l, r;
int main(void)
{
scanf("%d%d", &n, &q);
for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
for(int i = 1; i <= n; i++) s[i] = s[i-1] + a[i];
while(q--)
{
scanf("%d%d", &l, &r);
printf("%d\n", s[r] - s[l - 1]);
}
return 0;
}