#include<bits/stdc++.h>
using namespace std;
pair<int,int> csl(vector<int>&a,int k){
unordered_map<int,int>m;
int s=0,minl=INT_MAX,maxl=0,cntm=0,cntx=0;
m[0]=-1;
for(int i=0;i<a.size();i++){
s+=a[i];
if(m.find(s-k)!=m.end()){
int len=i-m[s-k];
if(len<minl){
minl=len;
cntm=1;
}
else if(len==minl){
cntm++;
}
if(len>maxl){
maxl=len;
cntx=1;
}
else if(len==maxl){
cntx++;
}
}
if(m.find(s)==m.end()){
m[s]=i;
}
}
return {cntm,cntx};
}
int main(){
vector<int>a={1,2,3,3,2};int k=5;
auto res=csl(a,k);
cout<<res.first<<" "<<res.second<<"\n";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKcGFpcjxpbnQsaW50PiBjc2wodmVjdG9yPGludD4mYSxpbnQgayl7CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bTsKICAgIGludCBzPTAsbWlubD1JTlRfTUFYLG1heGw9MCxjbnRtPTAsY250eD0wOwogICAgbVswXT0tMTsKICAgIGZvcihpbnQgaT0wO2k8YS5zaXplKCk7aSsrKXsKICAgICAgICBzKz1hW2ldOwogICAgICAgIGlmKG0uZmluZChzLWspIT1tLmVuZCgpKXsKICAgICAgICAgICAgaW50IGxlbj1pLW1bcy1rXTsKICAgICAgICAgICAgaWYobGVuPG1pbmwpewogICAgICAgICAgICAgICAgbWlubD1sZW47CiAgICAgICAgICAgICAgICBjbnRtPTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZihsZW49PW1pbmwpewogICAgICAgICAgICAgICAgY250bSsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGxlbj5tYXhsKXsKICAgICAgICAgICAgICAgIG1heGw9bGVuOwogICAgICAgICAgICAgICAgY250eD0xOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYobGVuPT1tYXhsKXsKICAgICAgICAgICAgICAgIGNudHgrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihtLmZpbmQocyk9PW0uZW5kKCkpewogICAgICAgICAgICBtW3NdPWk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHtjbnRtLGNudHh9Owp9CmludCBtYWluKCl7CiAgICB2ZWN0b3I8aW50PmE9ezEsMiwzLDMsMn07aW50IGs9NTsKICAgIGF1dG8gcmVzPWNzbChhLGspOwogICAgY291dDw8cmVzLmZpcnN0PDwiICI8PHJlcy5zZWNvbmQ8PCJcbiI7CiAgICByZXR1cm4gMDsKfQo=