Pagini recente » Cod sursa (job #985622) | Cod sursa (job #637732) | Cod sursa (job #7410) | Cod sursa (job #194289) | Cod sursa (job #635911)
Cod sursa(job #635911)
#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;
}