Pagini recente » hard | Cod sursa (job #33769) | Ciorna | Cod sursa (job #1119740) | Cod sursa (job #638082)
Cod sursa(job #638082)
#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;
}