Cod sursa(job #635356)

Utilizator Alexxino7Alexandru Popescu Alexxino7 Data 19 noiembrie 2011 10:49:55
Problema PalM Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.79 kb
#include<fstream>
using namespace std;

char S[501];
int lg,lgmax,st,dr,lgr;

void citire();
void rezolva();
int verificavecini();
void afiseaza();

int main(){
	citire();
	rezolva();
	afiseaza();
}

void citire(){
	ifstream fin("palm.in");
	int i=0;
	while(!fin.eof()){
		fin.get(S[i++]);
	}
	lg=i-1;
	fin.close();
}

void rezolva(){
	int i;
	for(i=1;i<lg-1;i++){
		st=dr=i,lgmax=1;
		while(verificavecini()){
			lgmax+=2;
		}
		if(lgr<lgmax)
			lgr=lgmax;
	}
}

int verificavecini(){
	if(st==0 || dr==lg-1)
		return 0;
	st--,dr++;
	if(st+1==dr-1){
		if(S[st]==S[dr])
			return 1;
	}
	else{
		if(S[st]==S[dr] && S[st]<S[st+1] && S[dr]<S[dr-1])
			return 1;
	}
	return 0;
}

void afiseaza(){
	ofstream fout("palm.out");
	fout<<lgr<<"\n";
	fout.close();
}