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