牛客寒假基础集训营 | Day1 H题—nozomi和字符串

在这里插入图片描述

一. 题目描述和输入描述

二. 示例

三. 代码

在这里插入图片描述

#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;
}
发布了137 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_34170700/article/details/104173725
今日推荐