Cod sursa(job #635462)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 19 noiembrie 2011 11:53:06
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.55 kb

#include <fstream>
#include <cstdio>
#include <string>
#include <algorithm>

using namespace std;

string s;
int sol,bst[512][512],n;

void read ()
{
	ifstream in ("palm.in");
	in>>s;
}

void solve ()
{
	n=s.size();
	sol=1;
	for(int i=0;i<=n;++i)
		bst[i][i]=1;
	for(int k=2;k<=n;++k)
		for(int i=0;i+k<n+1;++i)
		{
			int j=i+k-1;
			if(s[i]==s[j]&&s[i]<s[i+1]&&s[j]<s[j-1])
				bst[i][j]=bst[i+1][j-1]+2;
			sol=max(sol,bst[i][j]);
		}
}

void out ()
{
	freopen ("palm.out","w",stdout);
	printf("%d",sol);
}

int main ()
{
	read ();
	solve ();
	out ();
	return 0;}