Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int l = 0;
- int lans = 0 , rans = 1000000000;
- int cur = 0;
- int k;
- int a[26];
- string s;
- int main()
- {
- cin >> s;
- cin >> k;
- for (int r = 0; r < s.length(); r++){
- if (++a[s[r] - 'a'] == 1) cur++;
- while (cur > k){
- if (--a[s[l] - 'a'] == 0) cur--;
- l++;
- }
- while (cur == k){
- if (a[s[l] - 'a'] > 1){
- a[s[l] - 'a']--;
- l++;
- }
- else{
- break;
- }
- }
- if (cur == k){
- if (rans - lans + 1 > r - l + 1){
- lans = l;
- rans = r;
- }
- }
- }
- if (rans == 1000000000){
- cout << -1;
- return 0;
- }
- cout << rans - lans + 1;
- return 0;
- }
Add Comment
Please, Sign In to add comment