Given an array of integers, answer queries of the form: [i, j] : Print the sum of array elements from A[i] to A[j], both inclusive.
Input Format
First line of input contains N - size of the array. The next line contains N integers - elements of the array. The next line contains Q - number of queries. Each of the next Q lines contains 2 space separated indexes: i and j.
Constraints
30 points
1 <= N,Q <= 10000
70 points
1 <= N,Q <= 500000
General Constraints
-109 <= A[i] <= 109
0 <= i <= j <= N-1
Output Format
For each query, print the sum of array elements from A[i] to A[j], both inclusive, separated by newline.
Sample Input 0
10 1 30 13 -4 -5 12 -53 -12 43 100 4 0 5 1 7 2 3 7 9
Sample Output 0
47 -19 9 131
MY CODE
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
long long int size;
cin>>size;
long long int arr[size],sum=0;
for(long long int i=0;i<size;i++)
{
cin>>arr[i];
sum+=arr[i];
arr[i] = sum;
}
long long int que;
cin>>que;
while(que--)
{
long long int x,y;
cin>>x>>y;
if(x==0)
{
cout<<arr[y]<<endl;
}
else
{
cout<<arr[y]-arr[x-1]<<endl;
}
}
return 0;
}
i need more optimised solution can anyone solve this one because it is giving TLE for 2nd test case