Cod sursa(job #1706103)

Utilizator Debuger33Numarul1 Debuger33 Data 21 mai 2016 16:14:55
Problema PalM Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <string>

using namespace std ;

ifstream fin("palm.in") ;
ofstream fout("palm.out") ;

int main(){
	string s ;
	int n , sol = 1 ;
	fin >> s ;
	n = s.size() ;
	if(s[n - 1] == s[n - 2]){
		sol = 2 ;
	}
	for(int i = 1 ; i < n - 1 ; i ++){
		int st = i - 1 , dr = i + 1 ;
		while(st >= 0 && dr < n && s[st] == s[dr] && s[st] <= s[st + 1] && s[dr] <= s[dr - 1]){
			st -- ;
			dr ++ ;
		}
		sol = max(sol , dr - st - 1) ;
		st = i - 1 ; dr = i ; 
		if(s[st] == s[dr]){
			st -- ;
			dr ++ ;
			while(st >= 0 && dr < n && s[st] == s[dr] && s[st] <= s[st + 1] && s[dr] <= s[dr - 1]){
				st -- ;
				dr ++ ;
			}
			sol = max(sol , dr - st - 1) ; 
		}
	}
	fout << sol ;
	fin.close() ;
	fout.close() ;
	return 0 ;
}