fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void executeTime() {
  5. cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " secs";
  6. }
  7.  
  8. int main() {
  9.  
  10.  
  11. int n, k; cin >> n >> k;
  12. string s; cin >> s;
  13.  
  14. multiset<char> ms;
  15.  
  16. int i = 0, ans = 0;
  17.  
  18. //two pointer template
  19.  
  20. //expanding
  21. for (int j = 0; j < n; j++) {
  22. ms.insert(s[j]);
  23.  
  24. // shrinking
  25. while (i <= j && *(--ms.end()) - *ms.begin() > k) {
  26. ms.erase(ms.find(s[i]));
  27. i++;
  28. }
  29.  
  30. ans = max(ans, j - i + 1);
  31. }
  32.  
  33. cout << ans << endl;
  34.  
  35. executeTime();
  36. return 0;
  37. }
Success #stdin #stdout #stderr 0.01s 5280KB
stdin
10 2
abcdeabade

stdout
3
stderr
Time Taken: 0.005601 secs