Cod sursa(job #637469)
#include<stdio.h>
#include<string.h>
FILE*f=fopen("palm.in","r");
FILE*g=fopen("palm.out","w");
int n,i,m,rrr,y,v[1515],ok,p,max,h,u,viz;
char q[501];
int main (){
fscanf(f,"%s",q);
for(i=0;i<strlen(q)-2;i++){
if(q[i]-96<=q[i+1]-96){
p=i;
h=0;
y=0;
ok=0;
viz=0;
while((q[p]-96<=q[p+1]-96)&&(p<strlen(q)-1)){
p++;
ok=1;
if(q[p]-96==q[p+1]-96)
viz++;
}
y=p;
while((q[y]-96>=q[y+1]-96)&&(y<strlen(q)-1)){
y++;
ok=2;
}
u=p;
while((q[u]==q[u-1])&&(u>=i))
u--;
if(viz==y-i){
rrr=viz+1;
if(rrr>max)
max=rrr;
}
else{
rrr=y+1-i;
if(rrr>max)
max=rrr;
}
if((ok==2)&&(rrr>=max)&&(u-i==y-p)){
if(rrr>max)
max=rrr;
}
rrr=0;
}
}
fprintf(g,"%d",max);
return 0;
}