尽量采用存前n项和的方法存储,可能其他方法会超时(我没有试),,,看到此篇推荐看士兵杀敌(二)
#include<stdio.h>
int a[1000010];
int main()
{
int N, M, num, i, from, to;
scanf("%d%d", &N, &M);
a[0] = 0;
for(i=1;i<=N;i++)
{
scanf("%d", &num);
a[i] = a[i-1] + num;
}
while(M--)
{
scanf("%d%d", &from, &to);
printf("%d\n", a[to]-a[from-1]);
}
return 0;
}