Cod sursa(job #636484)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 19 noiembrie 2011 20:44:14
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.7 kb
#include <stdio.h>
#define NMAX 505
char A[NMAX];
int n,rez;
inline int lit(char x)
{
	return x>='a' && x<='z';
}
inline int max(int x,int y)
{
	return x>y ? x : y;
}
int main()
{
	freopen("palm.in","r",stdin);
	freopen("palm.out","w",stdout);
	fgets(A+1,NMAX,stdin);
	while (lit(A[n+1])) n++;
	fgets(A+1,NMAX,stdin);
	int i,st,dr;
	for (i=1; i<=n; i++)
	{
		st=dr=i;
		while (st-1>0 && dr+1<=n && A[st-1]==A[dr+1] && A[st-1]<=A[st])
			st--,dr++;
		rez=max(rez,dr-st+1);
		if (i>1)
		{
			st=i-1; dr=i;
			while (st-1>0 && dr+1<=n && A[st-1]==A[dr+1] && A[st-1]<=A[st])
				st--,dr++;
			if (A[st]==A[dr])
				rez=max(rez,dr-st+1);
		}
	}
	printf("%d\n",rez);
	return 0;
}