Cod sursa(job #638082)

Utilizator akumariaPatrascanu Andra-Maria akumaria Data 20 noiembrie 2011 18:47:16
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.56 kb
#include<stdio.h>
#include<vector>


using namespace std;


vector < int> p [30];
char a[510];


int main()
{
	freopen("palm.in","r",stdin);
	freopen("palm.out","w",stdout);
	int max=0,i=0,j,lim,n,lim2,k;
	while(scanf("%c",&a[++i])!=EOF&&a[i]!='\n')
	{
		n=a[i]-'a';
		if(!p[n].empty())
		{
			lim=p[n].size();
			for(j=0;j<lim;++j)
				{
					lim2=(1+i-p[n][j])/2;
					for(k=0;k<=lim2&&a[i-k]==a[p[n][j]+k];++k);
					if(k==lim2+1&&i-p[n][j]+1>max)
						max=i-p[n][j]+1;
				}
		}
		p[n].push_back(i);
	}
	printf("%d\n",max);
	return 0;
}