Cod sursa(job #776768)

Utilizator nrpcCiprian Stirbu nrpc Data 10 august 2012 13:13:45
Problema PalM Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<cstdio>
using namespace std;
char v[501];
int main()
{
	freopen("palm.in","r",stdin);
	freopen("palm.out","w",stdout);
	int n,k,max=0,p,u,q,ok;
	char c1,c2;
	scanf("%c",&c1);
	while(!feof(stdin)&&c1!='\n')
	{
		q=1;
		u=0;
		k=1;
		ok=1;
		v[1]=c1;
		scanf("%c",&c2);
		while(c1<=c2&&!feof(stdin)&&c1!='\n')
		{c1=c2;scanf("%c",&c2);k++;v[k]=c1;u=1;if(c1==c2)q++;else q=1;
		if(q>max)max=q;}
		p=k;
		if(feof(stdin))max--;
		while(v[p]==v[p-1])p--;
		p--;
		q=1;
		while(c1>=c2&&u&&!feof(stdin)&&c1!='\n')
		{
			c1=c2;
			scanf("%c",&c2);
			if(ok)k++;
			v[k]=c1;
			if(v[k]==v[p])p--;
			else ok=0;
			if(c1==c2)q++;
			else q=1;
			if(q>max)max=q;
		}
		if(!ok)k--;
		if(k-p>max)max=k-p;
		if(feof(stdin)&&p!=0)ok=0;
		if(ok&&k>max)max=k;
		c1=c2;
	}
	printf("%d",max);
	return 0;
}