什么是前缀和
原数组: a[1], a[2], a[3], a[4], a[5], …, a[n]
前缀和 Si为数组的前 i项和
前缀和: S[i] = a[1] + a[2] + a[3] + … + a[i]
注意: 前缀和的下标一定要从 1开始, 避免进行下标的转换
#include "iostream" using namespace std; const int N = 100010; int a[N]; int main() { int m,n; cin >> n >> m; for (int i = 1; i <= n; ++i) { cin >> a[i]; a[i]+=a[i-1]; } int l,r; for (int i = 0; i < m; ++i) { cin >> l >> r; cout << a[r]-a[l-1] << "\n"; } return 0; }
浙公网安备 33010602011771号