Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- string A;
- int k, n;
- int power(int x, unsigned int y)
- {
- int res = 1;
- while (y > 0)
- {
- if (y & 1)
- res = res * x;
- y = y >> 1;
- x = x * x;
- }
- return res;
- }
- int findLen(string& A, int n, int k, char ch)
- {
- int maxlen = 1;
- int cnt = 0;
- int l = 0, r = 0;
- while(r < n)
- {
- if(A[r] != ch)
- ++cnt;
- while(cnt > k)
- {
- if(A[l] != ch)
- --cnt;
- ++l;
- }
- maxlen = max(maxlen, r - l + 1);
- ++r;
- }
- return maxlen;
- }
- int answer(string& A, int n, int k)
- {
- int maxlen = 1;
- for(int i = 0; i < 26; ++i)
- maxlen = max(maxlen, findLen(A, n, k, i+'a'));
- return maxlen;
- }
- int main()
- {
- getline(cin,A);
- cin>>k;
- n=A.size();
- cout<<answer(A,n,k);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement