Cod sursa(job #636904)

Utilizator andreea29Iorga Andreea andreea29 Data 20 noiembrie 2011 01:15:56
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.94 kb
#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]);
	for (i = 1; 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;   
}