算法笔记-其他高效的技巧与算法
- 前缀和
前缀和
#include <cstdio>
#include <vector>
using namespace std;
const int MAXN = 10000;
int n, a[MAXN];
int sum[MAXN] = { 0 };
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (i == 0) {
sum[i] = a[i];
}
else {
sum[i] = sum[i - 1] + a[i];
}
}//上面就是典型的前缀和模板,将数组中的前缀之和计算到数组sum[]之中
//下面就是依次的根据多少进行输出了
int k, m;
scanf("%d", &k);
for (int i = 0; i < k; i++) {
scanf("%d", &m);
printf("%d\n", sum[m - 1]);
}
return 0;
}