CodeForces Round #354 - Vasya and String

description

High school student Vasya got a string of length n as a birthday present. This string consists of letters 'a' and 'b' only. Vasya denotes beauty of the string as the maximum length of a substring (consecutive subsequence) consisting of equal letters.Vasya can change no more than k characters of the original string. What is the maximum beauty of the string he can achieve?

Input

The first line of the input contains two integers n and k (1 ≤ n ≤ 100 000, 0 ≤ k ≤ n) — the length of the string and the maximum number of characters to change.The second line contains the string, consisting of letters 'a' and 'b' only.

Output

Print the only integer — the maximum beauty of the string Vasya can achieve by changing no more than k characters.

Examples

Input

8 1
           aabaabaa

Output

5

题意:

给定一串字符串,可以修改最多k个字符,求可以得到的最长连续相同的字符串的长度

分析(尺取法):

从左到右进行扫描,对a和b出现的次数计数,只要count_a<=k或count_b<=k,就说明可以在k次操作内将该子串编程完全相同的一串字符,此时把ans+1,right+1.否则,若果开头的字符是a,则count_a-1,若开头的字符是b,则count_b-1,然后left右移一位,right右移一位,可保持ans不变。

代码:

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
const int MAX = 1e5 + 5;
int n, k;
string str;

int solve()
{
    int ans = 0;
    int count_a = 0;
    int count_b = 0;
    int left = 0;
    int right = 0;

    while (right < n) {
        if (str[right] == 'a')
            count_a++;
        else
            count_b++;
        
        if (count_a <= k || count_b <= k) {
            ans++;
            right++;
        }
        else{
            if (str[left] == 'a')
                count_a--;
            else
                count_b--;
            left++;
            right++;
        }
    }
    return ans;
}
int main()
{
    cin >> n >> k;
    cin >> str;
    
    cout << solve() << endl;

    return 0;
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值