Subarray with given sum
Find a subarray with sum s.
Get Kartik’s stories in your inbox
Join Medium for free to get updates from this writer.
vector<int> subarraySum(vector<int> arr, int n, long long s) {
// Your code here
int curr_sum = arr[0];
int start_idx = 0;
if (curr_sum == s) {
return {1,1};
}
for (int i = 2; i <= n; i++) {
int j = i-1;
// cout << curr_sum << “ “ << s << “ “ << j << endl;
curr_sum += arr[j];
while (curr_sum > s && start_idx < j) {
curr_sum -= arr[start_idx];
start_idx++;
}
if (curr_sum == s) {
return {start_idx+1, i};
}
}
return {-1};
}






