https://www.acwing.com/problem/content/797/
#includeusing namespace std; const int N = 100010; int q[N], s[N]; int main() { int m, n; cin >> m >> n; for(int i = 1; i <= m; i++) scanf("%d", &q[i]); //scanf 速度比只用 cin 快。但注意 & 取址。 for(int i = 1; i <= m; i++) s[i] = s[i - 1] + q[i]; //前缀和的初始化 //注意两处循环都是从 1 开始,到 m。 while(n--) { int l, r; //写在 while 循环里面。 scanf("%d%d", &l, &r); printf("%dn", s[r] - s[l - 1]); //计算公式。区间和的计算。注意小的要再小一位。 } return 0; }



