尽量采用存前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; }