ACM 训练日志记录 · 思考 · 成长 提交 / 修改记录
王梓豪 / 题目列表训练档案
导出

ab串

来源:其他 ★ 1000

本题活力0.26按难度、完成结果与训练证据估算

算法如山行则将至

题目描述

求删除若干字符后满足前后为a中间为b的最长字符串长度。

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    string s;
    cin>>s;
    int dp0=0,dp1=0,dp2=0;
    for (char c : s) {
        if (c=='a') {
            dp0++;
            dp2=max(dp2+1,dp1+1);
        } else {
            dp1=max(dp1+1,dp0+1);
        }
    }
    cout<<max({dp0,dp1,dp2})<<'\n';
    return 0;
}