Cod sursa(job #711962)

Utilizator danalex97Dan H Alexandru danalex97 Data 12 martie 2012 21:50:57
Problema PalM Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <string.h>
using namespace std;

ifstream fin("palm.in");
ofstream fout("palm.out");

#define max(a , b) ( ( a>b ) ? a : b )
#define Lmax 511

char c[Lmax];
int st,dr;
int N;
int Max;

int Sir(int st,int dr)
{
	if ( c[st-1]==c[dr+1] && dr+1<=N && st-1>=0 && int(c[st])>=int(c[st-1]) && int(c[dr])>=int(c[dr+1]) )
		return Sir(st-1,dr+1);
	return dr-st+1;
}

int main()
{
	fin.getline(c,Lmax,'\n');
	N=strlen(c)-1;
	
	if (N==1)
	{
		fout<<'1'<<'\n';
		fin.close();
		fout.close();
		return 0;
	}
	
	for (int i=0;i<=N-1;++i)
		if (c[i]==c[i+1])
			Max=max(Sir(i,i+1),max(Sir(i,i),Max));
		else
			Max=max(Sir(i,i),Max);
	fout<<Max<<'\n';
	
	fin.close();
	fout.close();
	return 0;
}