Cod sursa(job #1483036)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 8 septembrie 2015 16:17:05
Problema PalM Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;

#define NMAX 502

char sir[NMAX];

int main ()
{
	int n,i,j,sol,st,dr;
	ifstream f("palm.in");
	ofstream g("palm.out");
	f>>(sir+1);
	f.close();
	n=strlen(sir+1);
	sol=1;
	for(i=1;i<=n;i++) {
		st=i;
		dr=i;
		while(st-1>=1 && dr+1<=n) {
			if(sir[st-1]>sir[st])
				break;
			if(sir[dr+1]>sir[dr])
				break;
			if(sir[st-1]!=sir[dr+1])
				break;
			st--;
			dr++;
		}
		if(dr-st+1>sol)
			sol=dr-st+1;
	}
	for(i=1;i<=n-1;i++) {
		st=i;
		dr=i+1;
		if(sir[dr]>sir[st] || sir[st]!=sir[dr])
			continue;
		while(st-1>=1 && dr+1<=n) {
			if(sir[st-1]>sir[st])
				break;
			if(sir[dr+1]>sir[dr])
				break;
			if(sir[st-1]!=sir[dr+1])
				break;
			st--;
			dr++;
		}
		if(dr-st+1>sol)
			sol=dr-st+1;
	}
	g<<sol;
	return 0;
}