Cod sursa(job #636722)

Utilizator dariusdariusMarian Darius dariusdarius Data 19 noiembrie 2011 22:48:27
Problema PalM Scor 30
Compilator cpp Status done
Runda .com 2011 Marime 0.63 kb
#include<stdio.h>
#include<string.h>
char s[1000];
int main()
{
	freopen("palm.in","r",stdin);
	freopen("palm.out","w",stdout);
	gets(s);
	int n=strlen(s);
	int i,max=-1,st,dr;
	if(n==1)
		printf("1");
	else
	{
	for(i=0;i<n;i++)
	{
		//pal. cu nr par de componente
		st=i;
		dr=i+1;
		while(s[st]==s[dr] && s[st]<=s[st+1] && s[dr]<=s[dr-1] && st!=-1 && dr!=n)
		{st--;dr++;}
		if(dr-st-1>max)
			max=dr-st-1;
		//pal. cu nr impar de componente
		st=i-1;
		dr=i+1;
		while(s[st]==s[dr] && s[st]<=s[st+1] && s[dr]<=s[dr-1])
		{st--;dr++;}
		if(dr-st-1>max)
			max=dr-st-1;
	}
	printf("%d",max);
	}
	return 0;
}