#include <bits/stdc++.h>
using namespace std;
int longestSubarray(vector<int>& arr, int k){
int n = arr.size();
int length = 0, sum = 0;
for (int i = 0, j = 0; j < n; j++){
sum += arr[j];
while(sum > k){
sum -= arr[i];
i++;
}
length = max(length, (j-i+1));
}
return length;
}
int main() {
// your code goes here
vector<int> arr = {8, 2, 4, 7, 1};
cout << longestSubarray(arr, 15);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbG9uZ2VzdFN1YmFycmF5KHZlY3RvcjxpbnQ+JiBhcnIsIGludCBrKXsKICAgIGludCBuID0gYXJyLnNpemUoKTsKICAgIGludCBsZW5ndGggPSAwLCBzdW0gPSAwOwoKICAgIGZvciAoaW50IGkgPSAwLCBqID0gMDsgaiA8IG47IGorKyl7CiAgICAgICAgc3VtICs9IGFycltqXTsKCiAgICAgICAgd2hpbGUoc3VtID4gayl7CiAgICAgICAgICAgIHN1bSAtPSBhcnJbaV07CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CgogICAgICAgIGxlbmd0aCA9IG1heChsZW5ndGgsIChqLWkrMSkpOwogICAgfQoKICAgIHJldHVybiBsZW5ndGg7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJCgl2ZWN0b3I8aW50PiBhcnIgPSB7OCwgMiwgNCwgNywgMX07Cgljb3V0IDw8IGxvbmdlc3RTdWJhcnJheShhcnIsIDE1KTsKCXJldHVybiAwOwp9