0
点赞
收藏
分享

微信扫一扫

瓜瓜的 01 串(思维 变换题

自信的姐姐 2022-03-19 阅读 18

添加链接描述

#include<bits/stdc++.h>
using namespace  std;
int main(){
    int n,k,ans1=0;
    cin>>n>>k;
    string s;
    cin>>s;
    for(auto it:s){
        ans1+=(it=='1');
    }
    int ans=0;
    if(k<=ans1){
        ans=max(ans,n-(ans1-k));
    }
    else {
        ans=max(ans,n-(k-ans1)%2);//如果大于,考虑k-ans1的余2结果
    }
    if(k){
        ans1=n-ans1;
        k--;//变换一次
        if(k<=ans1){
        ans=max(ans,n-(ans1-k));
        }
        else {
        ans=max(ans,n-(k-ans1)%2);
        }
    }
    cout<<ans<<"\n";

    return 0;
}
举报

相关推荐

0 条评论