Cod sursa(job #639062)

Utilizator bogdanvilceleanuBogdan Vilceleanu bogdanvilceleanu Data 22 noiembrie 2011 12:29:53
Problema PalM Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<cstdio>
#include<cstring>
using namespace std;
char c[507];
int main()
{
	freopen("palm.in","r",stdin);
	freopen("palm.out","w",stdout);
	int n,centru,st,dr=n,max=1,nr=1;
	gets(c);
	n=strlen(c);
	for(centru=1;centru<n;centru++)
	{
		if(c[centru]!=c[centru-1] && c[centru]!=c[centru+1])
		{
			nr=1;
			st=centru-1;
			dr=centru+1;
			while(st!=0 && dr!=n-1)
			{
				if(c[st]==c[dr] && c[st]<=c[st+1])
					nr+=2;
				else
					break;
				st--;
				dr++;
			}
			if(nr>max)
				max=nr;
		}
		if(c[centru]==c[centru-1] || c[centru]==c[centru+1])
		{
			nr=2;
			if(c[centru]==c[centru-1])
				st=centru-2,dr=centru+1;
			else
				st=centru-1,dr=centru+2;
			if(c[centru]==c[centru+1] && c[centru]==c[centru-1])
				dr=centru+1,st=centru-1,nr=1;
			while(st!=0 && dr!=n-1)
			{
				if(c[st]==c[dr] && c[st]<=c[st+1])
					nr+=2;
				else
					break;
				st--;
				dr++;
			}
			if(nr>max)
				max=nr;
		}
	}
	printf("%d\n",max);
	return 0;
}