Pagini recente » Istoria paginii utilizator/kindawannapee | Cod sursa (job #757930) | Rating Calu Marius (mariuscalu) | Cod sursa (job #595843) | Cod sursa (job #1792364)
#include <bits/stdc++.h>
using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");
int i,j,k,sol,n,d[502][502][26];
char s[502];
int main()
{
f>>(s+1);
n=strlen(s+1);
for(i=1;i<=n;++i)
for(j=n;j;--j)
for(k=0;k<26;++k)
{
if(s[i]==s[j]&&s[i]==k+'a') d[i][j][k]=d[i-1][j+1][k]+1;
int v[]={d[i][j][k],d[i-1][j][k],d[i][j+1][k],d[i][j][k-1]};
for(int p=1;p<4;++p) v[p]=max(v[p-1],v[p]);
d[i][j][k]=v[3];
}
for(i=1;i<=n;++i)
sol=max(sol,max(d[i][i][25]*2-1,d[i][i+1][25]*2));
g<<sol;
return 0;
}