c++题解 | #【模板】前缀和#
【模板】前缀和
https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf
很简单,求数组前缀和数组,ans = pres[r]-pres[l-1],下标从1开始,很方便。
#include <cstdio>
#include <iostream>
using namespace std;
const int N = 1e5+10;
typedef long long LL;
int n,q;
LL pres[N];
int main() {
scanf("%d%d", &n,&q);
LL tmp = 0;
int a;
for(int i = 1; i <= n; i++)
{
scanf("%d", &a);
pres[i] = pres[i-1]+a;
}
int l,r;
for(int i = 1;i<=q;i++){
scanf("%d%d", &l, &r);
printf("%lld\n", pres[r]-pres[l-1]);
}
return 0;
}
// 64 位输出请用 printf("%lld")