#include <iostream>
#include <string>
using namespace std;
class Solution {
public:
int findLongestWord(string s, int k) {
if(k == 0 || s.size() == 0)
return 0;
vector<bool> flags(128,false);
vector<int> chars(128,0);
int truecnt = 0;
int l = 0, r = 0;
int lenMax = 0;
for(r =0; r < s.size(); ++r)
{
if(!flags[s[r]])
{
if(truecnt < k)
{
truecnt++;
}else
{
lenMax = (lenMax > (r -l) )? lenMax : (r - l);
for(;l < r;++l)
{
if(--chars[s[l]] == 0)
{
flags[s[l]] = false;
++l;
break;
}
}
}
flags[s[r]] = true;
}
chars[s[r]]++;
}
return (lenMax > (r -l) )? lenMax : (r - l);
}
};
int main()
{
Solution so;
cout<<"val: "<<so.findLongestWord("asdd",2)<<endl;
return 0;
}