Cod sursa(job #776773)

Utilizator nrpcCiprian Stirbu nrpc Data 10 august 2012 13:21:15
Problema PalM Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 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,q,ok;
	char c1,c2;
	scanf("%c",&c1);
	while(!feof(stdin)&&c1!='\n')
	{
		q=1;
		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;
			if(c1==c2)q++;
			else q=1;
			if(q>max&&!feof(stdin))max=q;
		}
		p=k;
		while(v[p]==v[p-1])p--;
		p--;
		q=1;
		while(c1>=c2&&!feof(stdin)&&c1!='\n')
		{
			c1=c2;
			scanf("%c",&c2);
			if(ok)k++;
			v[k]=c1;
			if(v[k]==v[p]&&ok)p--;
			else ok=0;
			if(c1==c2)q++;
			else q=1;
			if(q>max&&!feof(stdin))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;
}