#include<bits/stdc++.h>
using namespace std;
main(){
int n,k,mn,sum=0;
cin>>n>>k;
mn=n;
vector<int>v(n);
for(auto &it:v)cin>>it;
unordered_map<int,int>mp;
for(int i=0;i<n;i++){
sum+=v[i];
if(sum==k){
mn=min(mn,i+1);
}
if(mp.find(sum-k)!=mp.end()){
mn=min(mn,i-mp[sum-k]);
}
mp[sum]=i;
}
if(mn==n&&sum>=k)cout<<n<<"\n";
else if(mn!=n)cout<<mn<<"\n";
else cout<<-1<<"\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCm1haW4oKXsKICAgIGludCBuLGssbW4sc3VtPTA7CiAgICBjaW4+Pm4+Pms7CiAgICBtbj1uOwogICAgdmVjdG9yPGludD52KG4pOwogICAgZm9yKGF1dG8gJml0OnYpY2luPj5pdDsKICAgIHVub3JkZXJlZF9tYXA8aW50LGludD5tcDsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIHN1bSs9dltpXTsKICAgICAgICBpZihzdW09PWspewogICAgICAgICAgICBtbj1taW4obW4saSsxKTsKICAgICAgICB9CiAgICAgICAgaWYobXAuZmluZChzdW0taykhPW1wLmVuZCgpKXsKICAgICAgICAgICAgbW49bWluKG1uLGktbXBbc3VtLWtdKTsKICAgICAgICB9CiAgICAgICAgbXBbc3VtXT1pOwogICAgfQogICAgaWYobW49PW4mJnN1bT49ayljb3V0PDxuPDwiXG4iOwogICAgZWxzZSBpZihtbiE9biljb3V0PDxtbjw8IlxuIjsKICAgIGVsc2UgY291dDw8LTE8PCJcbiI7Cn0=