Pagini recente » Cod sursa (job #663598) | Cod sursa (job #2565414) | Cod sursa (job #2395676) | Cod sursa (job #2876189) | Cod sursa (job #2537705)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("palm.in");
ofstream fout("palm.out");
int n,i,j,d[505][505];
char s[505];
int main()
{
fin >> (s+1); n = strlen((s+1)); int maxim = 0;
for (char ch='z'; ch>='a'; ch--)
{
for (i=1; i<=n; i++)
{
if (s[i] == ch)
d[i][i] = 1;
for (int lung=2; i+lung-1<=n; lung++)
{
j = i+lung-1;
if (s[i] == s[j] && s[i] == ch)
d[i][j] = max(d[i][j], d[i+1][j-1]+2);
d[i][j] = max(d[i][j], max(d[i+1][j], d[i][j-1]));
maxim = max(maxim, d[i][j]);
}
}
}
fout << maxim;
return 0;
}