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