/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
int arr[] = {1,2,3,4,5,6};
int i = 0;
int j = 5;
int []prefixSum = calculatePrefix(arr);
System.
out.
println("sum in range is "+ rangeSumQuery
(i,j,prefixSum
)); }
static int[] calculatePrefix(int[] arr){
int[] res = new int[arr.length];
int sum = 0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];
res[i] = sum;
}
return res;
}
static int rangeSumQuery( int i, int j, int[] prefixSum){
int leftSum = i>0?prefixSum[i-1]:0;
int rightSum = j<prefixSum.length?prefixSum[j]:0;
return rightSum-leftSum;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlpbnQgYXJyW10gPSB7MSwyLDMsNCw1LDZ9OwoJCWludCBpID0gMDsKCQlpbnQgaiA9IDU7CgkJaW50IFtdcHJlZml4U3VtID0gY2FsY3VsYXRlUHJlZml4KGFycik7CgkJU3lzdGVtLm91dC5wcmludGxuKCJzdW0gaW4gcmFuZ2UgaXMgIisgcmFuZ2VTdW1RdWVyeShpLGoscHJlZml4U3VtKSk7Cgl9CglzdGF0aWMgaW50W10gY2FsY3VsYXRlUHJlZml4KGludFtdIGFycil7CgkJaW50W10gcmVzID0gbmV3IGludFthcnIubGVuZ3RoXTsKCQlpbnQgc3VtID0gMDsKCQlmb3IoaW50IGk9MDtpPGFyci5sZW5ndGg7aSsrKXsKCQkJc3VtKz1hcnJbaV07CgkJCXJlc1tpXSA9IHN1bTsKCQl9CgkJcmV0dXJuIHJlczsKCX0KCXN0YXRpYyBpbnQgcmFuZ2VTdW1RdWVyeSggaW50IGksIGludCBqLCBpbnRbXSBwcmVmaXhTdW0pewoJCWludCBsZWZ0U3VtICA9IGk+MD9wcmVmaXhTdW1baS0xXTowOwoJCWludCByaWdodFN1bSA9IGo8cHJlZml4U3VtLmxlbmd0aD9wcmVmaXhTdW1bal06MDsKCQlyZXR1cm4gcmlnaHRTdW0tbGVmdFN1bTsKCX0KfQ==