fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main() {
  6. vector<vector<int>> nums = {
  7. {1,4,6,3,8,2},
  8. {3,5,1,9,7,4},
  9. {5,2,7,5,9,1}
  10. };
  11.  
  12. int l = 2, r = 4; // Sum from index 2 to 4 (inclusive)
  13.  
  14. // Prefix sum for each row
  15. vector<vector<int>> prefix(nums.size());
  16.  
  17. for (int i = 0; i < nums.size(); i++) {
  18. prefix[i].resize(nums[i].size());
  19.  
  20. prefix[i][0] = nums[i][0];
  21.  
  22. for (int j = 1; j < nums[i].size(); j++) {
  23. prefix[i][j] = prefix[i][j - 1] + nums[i][j];
  24. }
  25. }
  26.  
  27. // Answer queries
  28. for (int i = 0; i < nums.size(); i++) {
  29. int sum;
  30. if (l == 0)
  31. sum = prefix[i][r];
  32. else
  33. sum = prefix[i][r] - prefix[i][l - 1];
  34.  
  35. cout << "Sum: " << sum << endl;
  36. }
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Sum: 17
Sum: 17
Sum: 21