#include <bits/stdc++.h>
using namespace std;
// Method 1 while loop -->
int subArrayCount(vector<int> &arr, int k){
int count = 0, i = 0, j = 0, sum = 0;
while (j < arr.size()){
sum += arr[j];
while (sum > k){
sum -= arr[i];
i++;
}
count += j-i+1;
j++;
}
return count;
}
// method - 2 for loop
// int subArrayCount(vector<int> &arr, int k){
// int n = arr.size();
// int count = 0,sum = 0;
// for (int i = 0, j = 0; j < n; j++){
// sum += arr[j];
// while (sum > k){
// sum -= arr[i];
// i++;
// }
// count += j-i+1;
// }
// return count;
// }
int main() {
vector<int> arr = {1, 1, 2, 8, 1, 1};
cout << subArrayCount(arr, 4);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBNZXRob2QgMSB3aGlsZSBsb29wIC0tPgppbnQgc3ViQXJyYXlDb3VudCh2ZWN0b3I8aW50PiAmYXJyLCBpbnQgayl7CgkKCWludCBjb3VudCA9IDAsIGkgPSAwLCBqID0gMCwgc3VtID0gMDsKCXdoaWxlIChqIDwgYXJyLnNpemUoKSl7CgkJCgkJc3VtICs9IGFycltqXTsKCQkKCQl3aGlsZSAoc3VtID4gayl7CgkJCXN1bSAtPSBhcnJbaV07CgkJCWkrKzsKCQl9CgkJCgkJY291bnQgKz0gai1pKzE7CgkJaisrOwoJCQoJfQoJCglyZXR1cm4gY291bnQ7Cn0KCi8vIG1ldGhvZCAtIDIgZm9yIGxvb3AKLy8gaW50IHN1YkFycmF5Q291bnQodmVjdG9yPGludD4gJmFyciwgaW50IGspewoJCi8vIAlpbnQgbiA9IGFyci5zaXplKCk7CgkKLy8gCWludCBjb3VudCA9IDAsc3VtID0gMDsKLy8gCWZvciAoaW50IGkgPSAwLCBqID0gMDsgaiA8IG47IGorKyl7CgkJCi8vIAkJc3VtICs9IGFycltqXTsKCQkKLy8gCQl3aGlsZSAoc3VtID4gayl7Ci8vIAkJCXN1bSAtPSBhcnJbaV07Ci8vIAkJCWkrKzsKLy8gCQl9CgkJCi8vIAkJY291bnQgKz0gai1pKzE7CgkKLy8gCX0KCQovLyAJcmV0dXJuIGNvdW50OwovLyB9CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+IGFyciA9IHsxLCAxLCAyLCA4LCAxLCAxfTsKCWNvdXQgPDwgc3ViQXJyYXlDb3VudChhcnIsIDQpOwoJcmV0dXJuIDA7Cn0=