Cod sursa(job #1583999)

Utilizator geo_furduifurdui geo geo_furdui Data 29 ianuarie 2016 16:55:53
Problema Prefix Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include<cstring>
using namespace std;
ifstream f("prefix.in");
ofstream g("prefix.out");
char s[1000001]; int l;
bool bla (int i,int j,int k)
{
    int u;
    for(u=j;u<=k;u++) if(s[u]!=s[u-i]) return false;
    return true;
}
int mergi (int i)
{
    int j,maxim=0,o=i;
        for(j=i;j<=l;j+=i)
        {
            if(bla(i,j,j+i-1)) o+=i; else break; if(o>maxim) maxim=o;
        }
    return maxim;
}
int main()
{
    int i,n,j,k,maxim;
    f>>n;
    for(j=1;j<=n;j++)
    {
        f>>s; maxim=0;
        l=strlen(s);
        for(i=1;i<=l/2;i++)
        {
            k=mergi(i); if(k>maxim) maxim=k;
        }
        g<<maxim<<"\n";
    }
     f.close();
     g.close();
    return 0;
}