Cod sursa(job #345010)

Utilizator Ionescu_MariaIonescu Maria-Dorina Ionescu_Maria Data 1 septembrie 2009 15:15:21
Problema Prefix Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream.h>
#include<string.h>
int t,sw;
long n,j,l,lp,lmax,p;
char a[1000005];
void rez()
{
	long i;
	i=0; p=0; l=1;lp=1; lmax=0;
	while(i<n-lp+1)
	{
		i++;
		sw=1;
		for(j=0;j<=p;j++)
			if(a[j]!=a[i+j])
			{sw=0; break;}
		if(sw==1)
		{
			l+=lp;
			i=i+lp-1;
		}
		else
		{
			p=i; lp=i+1; l=lp;
		}
		if(l>lp&&l>lmax)
			lmax=l;
	}
}
int main()
{
	ifstream fin("prefix.in");
	ofstream fout("prefix.out");
	fin>>t; fin.get();
	for(int i=1;i<=t;i++)
	{
		fin.get(a,1000005,'\n');
		fin.get();
		n=strlen(a);
		rez();
		fout<<lmax<<'\n';
	}
	fin.close();
	fout.close();
	return 0;
}