Cod sursa(job #551799)

Utilizator dadudadUdrea Dragos dadudad Data 11 martie 2011 09:46:14
Problema Prefix Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 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;
}