Pagini recente » Cod sursa (job #2347878) | Cod sursa (job #333312) | Cod sursa (job #2407409) | Cod sursa (job #2398283) | Cod sursa (job #2537712)
#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 (int lung=2; lung<=n; lung++)
for (i=1; i+lung-1<=n; i++)
{
if (s[i] == ch)
d[i][i] = 1;
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;
}