Cod sursa(job #635911)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 19 noiembrie 2011 15:34:29
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.87 kb
#include<stdio.h>
#include<cstring>

FILE*f=fopen("palm.in","r");
FILE*g=fopen("palm.out","w");

int n,i,p,u,ch,lenght,best,pal;
char sir[505];

int main () {
	
	fscanf(f,"%s",sir+1);
	
	n = strlen(sir+1);
	
	for ( i = 1 ; i <= n ; ++i ){
		p = u = i; lenght = 0; ch = sir[i]; pal = 0;
		while (1){
			if ( !p || u > n )	break ;
			if ( sir[p] != sir[u] )	break ;
			if ( sir[p] > ch )	break ;
			ch = sir[p];
			--p; ++u; ++pal;
		}
		if ( (pal-1) * 2 + 1 > best )	best = (pal-1) * 2 + 1;
		if ( sir[i] == sir[i+1] ){
			p = i; u = p + 1; lenght = 0; ch = sir[i]; pal = 0;
			while (1){
				if ( !p || u > n )	break ;
				if ( sir[p] != sir[u] )	break ;
				if ( sir[p] > ch )	break ;
				ch = sir[p];
				--p; ++u; ++pal;
			}
			if ( pal + pal > best )	best = pal + pal;
		}
	}
	
	fprintf(g,"%d\n",best);
	
	fclose(f);
	fclose(g);
	
	return 0;
}