Pagini recente » Cod sursa (job #1846738) | Cod sursa (job #2019046) | Cod sursa (job #233838) | Cod sursa (job #2202509) | Cod sursa (job #636897)
Cod sursa(job #636897)
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("palm.in");
ofstream h("palm.out");
int n=0, v[600], best[600], poz, maxim, k, l[600], nr, bun, m, j, bestf[600], ok, mijloc, d, i;
char c, a[600];
int main()
{
int i, j, poz;
nr = 1;
while (!f.eof())
{
f>>c;
n=n+1;
a[n]=c;
}
n=n-1;
for (i=1; i<=n; i++)
v[i]=int(a[i]);
best[1] = 1;
for (i = 2; i <= n; i++)
{
maxim=1;
for (j=i+1; j<=n; j++)
if (v[j]==v[i])
{
poz=j;
bun=poz;
ok=1;
mijloc=(poz+i)/2;
k=i;
while (ok==1 && i<mijloc)
{
i=i+1;
bun=bun-1;
if (v[i]!=v[bun])
ok=0;
}
if (ok==0)
best[i]=1;
else
best[i]=(poz-k)+1;
if (maxim<best[i])
{
maxim=best[i];
}
}
bestf[i]=maxim;
}
maxim = 0;
for (i = 1; i <= n; i++)
if (maxim < bestf[i])
maxim = bestf[i];
h<<maxim<<'\n';
f.close();
h.close();
return 0;
}