一. 题目描述和输入描述
二. 示例
三. 代码
#include <iostream>
using namespace std;
#include <cmath>
#include <vector>
int main(){
int n,k;
cin >> n >> k;
string s;
cin >> s;
vector<int> v0,v1;
for(int i=0;i<n;i++){
if(s[i] == '0'){
v0.push_back(i);
}else{
v1.push_back(i);
}
}
int ans = 0;
if(v0.size()<=k || v1.size()<=k){
cout << n << endl;
}else{
v0.insert(v0.begin(),-1);
v0.push_back(n);
v1.insert(v1.begin(),-1);
v1.push_back(n);
for(int j=1;j<v0.size()-k;j++){
ans = max(ans, v0[j+k]-v0[j-1]-1);
}
for(int j=1;j<v1.size()-k;j++){
ans = max(ans, v1[j+k]-v1[j-1]-1);
}
cout << ans << endl;
}
return 0;
}