Pagini recente » Cod sursa (job #429860) | Cod sursa (job #28610) | Cod sursa (job #705338) | Cod sursa (job #2998470) | Cod sursa (job #635678)
Cod sursa(job #635678)
#include <stdio.h>
#include <string.h>
char s[550];
int main(){
freopen("palm.in","r",stdin);
FILE *fout=fopen("palm.out","w");
fread (s,1,510,stdin);
//fscanf(fin,"%s\n",s);
int li,ls;
int n=strlen(s);
int mijloc;
int max=1,m;
mijloc=0;
while((2*(n-mijloc))>max){//n-are rost sa ajung cu mijlocul chiar in n, de exemplu, sigur nu va iesi o secv m mare
//daca palindr e par
for(li=mijloc, ls=mijloc+1;li>=0 &&ls<n && s[li]==s[ls] && s[li]<=s[li+1];li--,ls++);
m=ls-li-1;
if(max<m)max=m;//ea incepe pe st+1
//daca e impar
for(li=mijloc-1,ls=mijloc+1;li>=0 && ls<n && s[li]==s[ls]&& s[li]<=s[li+1];li--,ls++);
m=ls-li-1;
if(max<m)max=m;//ea incepe pe li+1
mijloc++;
}
fprintf(fout,"%d\n",max);
return 0;
}