#include <iostream>
#include<bits/stdc++.h>
#define fo(i,start,end) for(int i=start;i<end;i++)
using namespace std;
int main() {
int arr[] = {3,1,3,-2,2};
int k = 4;
int n = 5;
//find the largest and smallest length of subarray with sum = K
int mini = INT_MAX;
int maxi = INT_MIN;
int sum = 0;
fo(i,0,n){
sum = 0;
fo(j,i,n){
sum +=arr[j];
if(sum == k){
mini = min(mini,j-i+1);
maxi = max(maxi,j-i+1);
}
}
}
cout<<"largest subarray length with sum "<<k<<" is "<<maxi<<endl;
cout<<"smallest subarray length with sum "<<k<<" is "<<mini<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIGZvKGksc3RhcnQsZW5kKSBmb3IoaW50IGk9c3RhcnQ7aTxlbmQ7aSsrKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgYXJyW10gPSB7MywxLDMsLTIsMn07CglpbnQgayA9IDQ7CglpbnQgbiA9IDU7CgkvL2ZpbmQgdGhlIGxhcmdlc3QgYW5kIHNtYWxsZXN0IGxlbmd0aCBvZiBzdWJhcnJheSB3aXRoIHN1bSA9IEsKCWludCBtaW5pID0gSU5UX01BWDsKCWludCBtYXhpID0gSU5UX01JTjsKCWludCBzdW0gPSAwOwoJZm8oaSwwLG4pewoJCXN1bSA9IDA7CgkJZm8oaixpLG4pewoJCQlzdW0gKz1hcnJbal07CgkJCWlmKHN1bSA9PSBrKXsKCQkJCW1pbmkgPSBtaW4obWluaSxqLWkrMSk7CgkJCQltYXhpID0gbWF4KG1heGksai1pKzEpOwoJCQl9CgkJfQoJCgl9CgkJY291dDw8Imxhcmdlc3Qgc3ViYXJyYXkgbGVuZ3RoIHdpdGggc3VtICI8PGs8PCIgaXMgIjw8bWF4aTw8ZW5kbDsKCQljb3V0PDwic21hbGxlc3Qgc3ViYXJyYXkgbGVuZ3RoIHdpdGggc3VtICI8PGs8PCIgaXMgIjw8bWluaTw8ZW5kbDsKCXJldHVybiAwOwp9