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;
}

 

posted on 2016-05-26 14:21  Lxyan  阅读(142)  评论(0)    收藏  举报

导航