/**
* Definition of Interval:
* classs Interval {
* int start, end;
* Interval(int start, int end) {
* this->start = start;
* this->end = end;
* }
*/
class Solution {
public:
/**
*@param A, queries: Given an integer array and an query list
*@return: The result list
*/
vector<long long> intervalSum(vector<int> &A, vector<Interval> &queries) {
// write your code here
int n = A.size();
vector<long long> preSumSet;
long long preSum = 0;
preSumSet.push_back(0);
for(int i = 0; i< n; i++){
preSum += A[i];
preSumSet.push_back(preSum);
}
preSumSet.push_back(preSum);
//begins query.
vector<long long> result;
for(int i = 0; i < queries.size(); i++){
result.push_back(preSumSet[queries[i].end+1] - preSumSet[queries[i].start]);
}
return result;
}
};