#include<iostream>
#include<vector>
using namespace std;
vector<int>prefix(vector<int>&newSum,int n){
vector<int> sumi(n+1,0);
for (int i = 1; i <= n;i++){
sumi[i] = sumi[i - 1] + newSum[i];
}
return sumi;
}
int newPrefix(const vector<int>&newpre,int l,int r){
return newpre[r] - newpre[l - 1];
}
int main(){
vector<int> sum = {1, 2, 4, 3, 2, 5, 7, 3, 6, 8,};
int n=sum.size();
int l = 2;
int r = 6;
vector<int> pre = prefix(sum,n);
cout << "The sum in the range is:" << newPrefix(pre, l, r);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdmVjdG9yPGludD5wcmVmaXgodmVjdG9yPGludD4mbmV3U3VtLGludCBuKXsKICAgIHZlY3RvcjxpbnQ+IHN1bWkobisxLDApOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjtpKyspewogICAgICAgIHN1bWlbaV0gPSBzdW1pW2kgLSAxXSArIG5ld1N1bVtpXTsKICAgIH0KICAgIHJldHVybiBzdW1pOwp9CmludCBuZXdQcmVmaXgoY29uc3QgdmVjdG9yPGludD4mbmV3cHJlLGludCBsLGludCByKXsKICAgIHJldHVybiBuZXdwcmVbcl0gLSBuZXdwcmVbbCAtIDFdOwp9CmludCBtYWluKCl7CiAgICB2ZWN0b3I8aW50PiBzdW0gPSB7MSwgMiwgNCwgMywgMiwgNSwgNywgMywgNiwgOCx9OwogICAgaW50IG49c3VtLnNpemUoKTsKICAgIGludCBsID0gMjsKICAgIGludCByID0gNjsKICAgIHZlY3RvcjxpbnQ+IHByZSA9IHByZWZpeChzdW0sbik7CiAgICBjb3V0IDw8ICJUaGUgc3VtIGluIHRoZSByYW5nZSBpczoiIDw8IG5ld1ByZWZpeChwcmUsIGwsIHIpOwogCiAgICByZXR1cm4gMDsKfQ==