记录编号 |
584929 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
收集弹珠 |
最终得分 |
100 |
用户昵称 |
黄天宇 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.053 s |
提交时间 |
2023-11-16 21:39:56 |
内存使用 |
2.96 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<iomanip>
using namespace std;
string a;
int v[50005];
int n;
int maxx;
bool flag;
int num;
int sum;
int ball(int x){
sum=1;
char now=a[x];
int len=a.length();
int step=0,l=x,r=x,nex;
for(int i=1;i<len;i++){
// if(i+x>=len&&x-i<0) break;
nex=i+x;
if(nex<len&&a[nex]==now&&step+nex-r-1<=n){
step+=nex-r-1;
r++;
sum++;
}
nex=x-i;
if(nex>=0&&a[nex]==now&&step+l-nex-1<=n){
step+=l-nex-1;
l--;
sum++;
}
}
return sum;
}
int main(){
freopen("ball.in","r",stdin);
freopen("ball.out","w",stdout);
cin>>a;
cin>>n;
for(int i=0;i<a.length();i++){
maxx=max(maxx,ball(i));
}
cout<<maxx<<endl;
return 0;
}