#include<iostream>
using namespace std;
// 定义数组最大长度:1e6+10(100万+10),满足题目中n的范围需求
// 1e6是常见的大数据范围,+10是为了避免数组越界
const int N=1e6+10;
// 定义全局数组a,类型为long long:原因是前缀和可能会溢出int
long long a[N];
int main()
{
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
// 计算前缀和数组
for(int i=1;i<=n;i++)
{
a[i] = a[i] + a[i-1];
}
for(int i=1;i<=k;i++)
{
// l:查询区间的左端点;r:查询区间的右端点
int l,r;
cin>>l>>r;
// 前r项前缀和 - 前l-1项前缀和
cout<<a[r]-a[l-1]<<endl;
}
return 0;
}

京公网安备 11010502036488号