Cod sursa(job #637622)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 20 noiembrie 2011 15:37:30
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.78 kb
#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,e;
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)){
				ok=1;
				if(q[p]==q[p+1])
				    viz++;
				p++;
			}
			y=p;
			u=p;
			while((q[u]==q[u-1])&&(u>=i))
				u--;
			e=u;
			while((q[e-1]==q[y+1])&&(y<strlen(q)-1)&&(e>=i+1)){
				y++;
				e-=1;
				ok=2;
			}
			if(viz+1==y){
				rrr=viz+1;
				if(rrr>max)
					max=rrr;
			}
			else
				rrr=y-e+1;
			if((ok==2)&&(rrr>=max)&&(u-i==y-p)){
				if(rrr>max)
					max=rrr;
			}
		}
	}
	fprintf(g,"%d",max);
	return 0;
}