#include <bits/stdc++.h>
using namespace std;
int count(int A[],int num,int k){
unordered_map<int,int>m;
// m[0]=1;
int count=0;
int sum=0;
int maxi=-100;
for(int i=0;i<num;i++){
sum+=A[i];
int x=sum-k;
if(m.find(x)!=m.end()){
int dist=m[x]+1;
int actual=i-dist+1;
if(actual>maxi){
maxi=actual;
count=1;
}
else if(actual==maxi){
count++;
}
}
if(m.find(sum)==m.end()){
m[sum]=i;
}
}
return count;
}
int main() {
// your code goes here
int n;
cin>>n;
int k;
cin>>k;
int A[n];
for(int i=0;i<n;i++){
cin>>A[i];
}
cout<<"The count of subarrays with longest length whose sum==k is:"<<count(A,n,k);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBjb3VudChpbnQgQVtdLGludCBudW0saW50IGspewoJdW5vcmRlcmVkX21hcDxpbnQsaW50Pm07CgkvLyBtWzBdPTE7CglpbnQgY291bnQ9MDsKCWludCBzdW09MDsKCWludCBtYXhpPS0xMDA7Cglmb3IoaW50IGk9MDtpPG51bTtpKyspewoJCXN1bSs9QVtpXTsKCQlpbnQgeD1zdW0tazsKCQlpZihtLmZpbmQoeCkhPW0uZW5kKCkpewoJCQlpbnQgZGlzdD1tW3hdKzE7CgkJCWludCBhY3R1YWw9aS1kaXN0KzE7CgkJCWlmKGFjdHVhbD5tYXhpKXsKCQkJCW1heGk9YWN0dWFsOwoJCQkJY291bnQ9MTsKCQkJfQoJCQllbHNlIGlmKGFjdHVhbD09bWF4aSl7CgkJCQljb3VudCsrOwoJCQl9CgkJCQoJCX0KCQlpZihtLmZpbmQoc3VtKT09bS5lbmQoKSl7CgkJCW1bc3VtXT1pOwoJCX0KCQkKCX0KCXJldHVybiBjb3VudDsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbjsKCWNpbj4+bjsKCWludCBrOwoJY2luPj5rOwoJaW50IEFbbl07Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQljaW4+PkFbaV07Cgl9Cgljb3V0PDwiVGhlIGNvdW50IG9mIHN1YmFycmF5cyB3aXRoIGxvbmdlc3QgbGVuZ3RoIHdob3NlIHN1bT09ayBpczoiPDxjb3VudChBLG4sayk7CglyZXR1cm4gMDsKfQ==