比赛 |
2024暑假C班集训7 |
评测结果 |
AAAAAAATTTTTTTTTTTTT |
题目名称 |
游戏 |
最终得分 |
35 |
用户昵称 |
dream |
运行时间 |
28.034 s |
代码语言 |
C++ |
内存使用 |
3.62 MiB |
提交时间 |
2024-07-07 11:47:01 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k;
string a;
int cc[1000005]={};
ll cnt=0;
bool cmp(ll x,ll y){
return x>y;
}
bool judge(string c){
// cout<<c<<"\n";
if(c.size()%2==0){
return false;
}
for(ll i=0;i<c.size()/2;i++){
// cout<<i<<" "<<c.size()-i-1<<"\n";
if(c[i]!=c[c.size()-i-1]){
return false;
}
}
return true;
}
namespace subtask8{
int main(){
ll mx=0;
for(ll i=0;i<n;i++){
for(ll j=i;j<n;j+=2){
string c="";
for(ll q=i;q<=j;q++){
c.push_back(a[q]);
}
if(judge(c)){
mx=max((ll)(c.size()),mx)%19930726;
}
}
}
cout<<mx;
return 0;
}
}
int main(){
ios::sync_with_stdio(0);
freopen("rehearse.in","r",stdin);
freopen("rehearse.out","w",stdout);
cin>>n>>k;
cin>>a;
if(k==1){
return subtask8::main();
}
cnt=0;
// cout<<n<<" "<<k<<"\n";
for(ll i=0;i<n;i++){
for(ll j=i;j<n;j+=2){
string c="";
for(ll q=i;q<=j;q++){
c.push_back(a[q]);
}
if(judge(c)){
cc[++cnt]=c.size();
// cout<<c<<"\n";
}
}
}
if(cnt<k){
cout<<-1;
return 0;
}
// cout<<cnt<<"\n";
sort(cc+1,cc+cnt+1,cmp);
ll res=1;
for(ll i=1;i<=k;i++){
if(cc[i]==1){
// cout<<i<<"\n";
break;
}
res*=cc[i];
res%=19930726;
}
cout<<res;
return 0;
}