Advertisement
Guest User

Untitled

a guest
May 21st, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <unordered_map>
  4.  
  5. int main() {
  6. std::vector<int> nums = {-1, 2, 7, 8, -1, 0, -2};
  7. int k = 14;
  8. int n = nums.size();
  9. std::unordered_map<int, int> sums;
  10. int sum = 0;
  11. for (int i = -1; i < n; ++i) {
  12. sums[sum] = i;
  13. int complement = sum - k;
  14. auto it = sums.find(complement);
  15. if ( it != sums.end() && it->second != i) {
  16. for (int j = it->second + 1; j <= i; ++j) {
  17. std::cout << nums[j] << " ";
  18. }
  19. std::cout << "\n";
  20. }
  21. if (i < n - 1) {
  22. sum += nums[i + 1];
  23. }
  24. }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement