(114). 30.2. MINIMUM SUBARRAY SIZE. - anishsingh90/Data_Structure_And_Algorithm_In_Cpp_github.io GitHub Wiki

#include <bits/stdc++.h> using namespace std;

//smallest Subarray with sum int smallestSubarrayWithSum(int arr[], int n, int x){ int sum = 0, minLength = n+1, start = 0, end = 0; while(end < n){ while(sum <= x && end < n){ sum += arr[end++]; }

	while(sum > x && start < n){
		if(end - start < minLength){
			minLength = end - start;
		}
		sum -= arr[start++];
	}
}
return minLength;

}

int main(){ int arr[] = {1, 4, 45, 6, 10, 19}; int x = 51; int n = 6;

int minLength = smallestSubarrayWithSum(arr, n, x);

if(minLength == n+1){
	cout << "no such subarray exists" << endl;
}
else{
	cout << "smallest length subarray is: " << minLength << endl;
}

return 0;

}

/* OUTPUT: smallest length subarray is: 3 */