Cod sursa(job #635828)

Utilizator ProtomanAndrei Purice Protoman Data 19 noiembrie 2011 15:05:52
Problema PalM Scor 30
Compilator cpp Status done
Runda .com 2011 Marime 0.76 kb
#include <algorithm>
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int maxGs = 0;

int main()
{
	ifstream cin("palm.in");
	ofstream cout("palm.out");

	string str;
	cin >> str;

	for (int i = 0; i < str.size(); i++)
	{
		int x, y, sol;

		// Impar
		x = i - 1, y = i + 1;
		sol = 1;

		for (; x >= 0 && y < str.size(); sol += 2, x--, y++)
			if (!(str[x] == str[y] && str[x] <= str[x + 1] && str[y - 1] >= str[y]))
				break;

		maxGs = max(maxGs, sol);

		// Par
		x = i; y = i + 1;
		sol = 0;

		for (; x >= 0 && y < str.size(); sol += 2, x--, y++)
			if (!(str[x] == str[y] && str[x] <= str[x + 1] && str[y - 1] >= str[y]))
				break;

		maxGs = max(maxGs, sol);
	}

	cout << maxGs;

	return 0;
}