Untitled
c_cpp
a month ago
963 B
8
Indexable
Never
#include<bits/stdc++.h> // AMAN JAIN MCA 1st YEAR 2nd SEM void recursion(vector<int>& a, vector<int> currentSubarray, int index, long long currentSum, long long k, vector<vector<int>>& ans) { if(currentSum == k && currentSubarray.size()) { ans.push_back(currentSubarray); } if(index < a.size()) { currentSubarray.push_back(a[index]); recursion(a, currentSubarray, index + 1, currentSum + a[index], k, ans); currentSubarray.pop_back(); if(currentSubarray.size() == index && currentSubarray.size() != 0) { currentSubarray = vector<int>(); currentSubarray.push_back(a[index]); recursion(a, currentSubarray, index + 1, a[index], k, ans); } } } vector<vector<int>> subarraysWithSumK(vector<int> a, long long k) { vector<vector<int>> ans; recursion(a, vector<int>(), 0, 0, k, ans); sort(ans.begin(), ans.end()); return ans; }