fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. long maxSubArraySum(long a[], long l, long r)
  4. {
  5. long max_so_far = INT_MIN, max_ending_here = 0;
  6.  
  7. for (long i = l; i <= r; i++)
  8. {
  9. max_ending_here = max_ending_here + a[i];
  10. if (max_so_far < max_ending_here)
  11. max_so_far = max_ending_here;
  12.  
  13. if (max_ending_here < 0)
  14. max_ending_here = 0;
  15. }
  16. return max_so_far;
  17. }
  18. int main() {
  19. // your code goes here
  20. long m,n;
  21. cin>>n;
  22. long a[n];
  23. for(long i=0;i<n;i++) cin>>a[i];
  24. cin>>m;
  25. while(m--){
  26. long l,r;
  27. cin>>l>>r;
  28. cout<<maxSubArraySum(a,l-1,r-1)<<endl;
  29. }
  30. return 0;
  31. }
Success #stdin #stdout 0s 4444KB
stdin
3 
-1 2 3
1
1 2
stdout
2