记录编号 584881 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 收集弹珠 最终得分 100
用户昵称 Gravatar黄天乐 是否通过 通过
代码语言 C++ 运行时间 0.870 s
提交时间 2023-11-16 18:57:20 内存使用 2.89 MiB
显示代码纯文本
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n,cnt1,cnt2;
int ans;
int l[5005],r[5005];
string a;
void ball(char x,int p){
    int l=p-1,r=p+1;
    int s1=0,s2=0;
    int sum=0;
    while(l>=0||r<=a.length()-1){
        if(l>=0&&a[l]==x){
            if((sum+(p-l-1-s1))<=n){
                sum+=(p-l-1-s1);
                s1++;
            }
        }
        if(r<=a.length()-1&&a[r]==x){
            if((sum+(r-p-1-s2))<=n){
                sum+=(r-p-1-s2);
                s2++;
            }
        }
        l--;
        r++;
    }
    ans=max(ans,s1+s2+1);
}
int main(){
    freopen("ball.in","r",stdin);
    freopen("ball.out","w",stdout);
    cin>>a>>n;
    for(int i=0;i<a.length();i++){
        ball(a[i],i);
    }
    cout<<ans<<endl;
    return 0;
}