#include<bits/stdc++.h>
#include <unordered_map>
using namespace std;
int main() {
// your code goes here
int arr[]={1, 2, 3, 4, 5, -1, 6};
int k=9;
int n=sizeof(arr)/sizeof(arr[0]);
int sum=0;
int maxi=0;
int mini=1e9;
unordered_map<int,int>m;
unordered_map<int,int>q;
m[0]=-1;
for(int i=0;i<n;i++){
sum+=arr[i];
int un=sum-k;
if(m.find(un)!=m.end()){
int x=m[un]+1;
int dist=i-x+1;
if(dist>maxi){
maxi=dist;
}
}
if(q.find(un)!=q.end()){
int y=q[un]+1;
int dist=i-y+1;
if(dist<mini){
mini=dist;
}
}
if(m.find(sum)==m.end()){
m[sum]=i;
}
q[sum]=i;
}
cout<<maxi<<mini<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgYXJyW109ezEsIDIsIDMsIDQsIDUsIC0xLCA2fTsKCWludCBrPTk7CglpbnQgbj1zaXplb2YoYXJyKS9zaXplb2YoYXJyWzBdKTsKCWludCBzdW09MDsKCWludCBtYXhpPTA7CglpbnQgbWluaT0xZTk7CiAKCXVub3JkZXJlZF9tYXA8aW50LGludD5tOwoJdW5vcmRlcmVkX21hcDxpbnQsaW50PnE7CgltWzBdPS0xOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJc3VtKz1hcnJbaV07CgkJaW50IHVuPXN1bS1rOwoJCWlmKG0uZmluZCh1bikhPW0uZW5kKCkpewoJCQlpbnQgeD1tW3VuXSsxOwoJCQlpbnQgZGlzdD1pLXgrMTsKCQkJaWYoZGlzdD5tYXhpKXsKCQkJCW1heGk9ZGlzdDsKCQkJfQogCgkJfQoJCWlmKHEuZmluZCh1bikhPXEuZW5kKCkpewoJCQlpbnQgeT1xW3VuXSsxOwoJCQlpbnQgZGlzdD1pLXkrMTsKCQkJaWYoZGlzdDxtaW5pKXsKCQkJCW1pbmk9ZGlzdDsKCQkJfQogCgkJfQoJCWlmKG0uZmluZChzdW0pPT1tLmVuZCgpKXsKCQkJbVtzdW1dPWk7CgkJfQoJCXFbc3VtXT1pOwoJfQoJY291dDw8bWF4aTw8bWluaTw8ZW5kbDsKCXJldHVybiAwOwp9