Cod sursa(job #636230)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 19 noiembrie 2011 17:52:50
Problema PalM Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.67 kb
#include<fstream>
#include<string.h>
using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");
char c[501];
int i,x[501],a[501][501],m,n,j,st,dr;
int main()
{
	f>>c;
	n=strlen(c);
	for(i=1;i<=n;i++)
	{
		x[i]=int(c[i-1])-96;
	}
	for(i=1;i<=n;i++)
	{
		for(j=i;j<=n;j++)
		{
			if(i==j) a[i][j]=1;
			else
			{
				st=i; dr=j;
				if(x[st]==x[dr])
				{
					while(x[st]==x[dr] && dr>st && x[st]<x[st+1])
					{
						st++;
						dr--;
					}
				}
				if(st==dr) a[i][j]=j-i+1;
			}
		}			
	}
	int maxx=a[1][1];
	for(i=1;i<=n;i++) 
		for(j=i;j<=n;j++) if(a[i][j]>maxx) maxx=a[i][j];
	g<<maxx;
	f.close();
	g.close();
	return 0;
}