Cf 354C
#include <cstdio> #include <algorithm> using namespace std; int n,k; char s[100000+10]; int a[100000+10]; int f(char c){ a[0]=0;int ans=-1; for(int i=0;i<n;i++){ a[i+1] = a[i]+(s[i]==c); } for(int i=1,j=0;i<=n;i++){ while(a[i]-a[j]>k) j++; ans = max(ans,i-j); } return ans; } int main(){ while(scanf("%d %d",&n,&k)==2){ scanf("%s",s); int ans = max(f('a'),f('b')); printf("%d\n",ans); } return 0; }
浙公网安备 33010602011771号