Pagini recente » Cod sursa (job #1400277) | Cod sursa (job #2285291) | Cod sursa (job #585782) | Cod sursa (job #1673795) | Cod sursa (job #2750604)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("palm.in");
ofstream fout("palm.out");
char s[505],ch;
int dp[505][505],sol;
int main()
{
int n,i,j,d;
fin >> s+1;
n=strlen(s+1);
for (ch='z'; ch>='a'; ch--)
{
for (d=2; d<=n; d++)
{
for (i=1; i+d-1<=n; i++)
{
j=i+d-1;
if (s[i]==ch)
{
dp[i][i]=1;
if (s[i]==s[j]) dp[i][j]=max(dp[i+1][j-1]+2,dp[i][j]);
}
dp[i][j]=max({dp[i+1][j],dp[i][j-1],dp[i][j]});
sol=max(sol,dp[i][j]);
}
}
}
fout << sol;
return 0;
}