fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int longest_subarray(vector<int>&arr,int k){
  6. int n=arr.size();
  7. int sum=0;
  8. int len=0;
  9. for(int i=0,j=0;j<n;j++){
  10. sum+=arr[j];
  11. while(sum>k){
  12. sum-=arr[i];
  13. i++;
  14. }
  15. len=max(len,j-i+1);
  16. }
  17. return len;
  18. }
  19. int main(){
  20. int n;
  21. cin>>n;
  22. vector<int>arr(n);
  23. for(int i=0;i<n;i++){
  24. cin>>arr[i];
  25. }
  26. int k;
  27. cin>>k;
  28.  
  29. int length=longest_subarray(arr,k);
  30. cout<<"Longest subarray with length <="<<k<<": "<<length<<endl;
  31. }
Success #stdin #stdout 0.01s 5292KB
stdin
5
1 2 3 4 5 
10
stdout
Longest subarray with length <=10: 4