#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
vector<int>arr={1,0,1,1,0,2};
int k=3;
unordered_map<int,int>mpp;
mpp[0]=-1;
int minlen=INT_MAX;
int sum=0;
for(int i=0;i<arr.size();i++){
sum+=arr[i];
int rem=sum-k;
if(mpp.find(rem)!=mpp.end()){
int len=i-mpp[rem];
minlen=min(minlen,len);
}
mpp[sum]=i;
}
if(minlen == INT_MAX)
cout << "No subarray found";
else
cout << minlen;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJdmVjdG9yPGludD5hcnI9ezEsMCwxLDEsMCwyfTsKCWludCBrPTM7Cgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+bXBwOwoJbXBwWzBdPS0xOwoJaW50IG1pbmxlbj1JTlRfTUFYOwoJaW50IHN1bT0wOwoJZm9yKGludCBpPTA7aTxhcnIuc2l6ZSgpO2krKyl7CgkJc3VtKz1hcnJbaV07CgkJaW50IHJlbT1zdW0tazsKCQlpZihtcHAuZmluZChyZW0pIT1tcHAuZW5kKCkpewoJCQlpbnQgbGVuPWktbXBwW3JlbV07CgkJCW1pbmxlbj1taW4obWlubGVuLGxlbik7CgkJfQoJCW1wcFtzdW1dPWk7Cgl9CglpZihtaW5sZW4gPT0gSU5UX01BWCkKICAgICAgICBjb3V0IDw8ICJObyBzdWJhcnJheSBmb3VuZCI7CiAgICBlbHNlCiAgICAgICAgY291dCA8PCBtaW5sZW47CglyZXR1cm4gMDsKfQ==