Cod sursa(job #1189034)

Utilizator ArmandNMArmand Nicolicioiu ArmandNM Data 21 mai 2014 09:33:19
Problema PalM Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#include <cstring>

using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");

int l,lung,LM;
char s[501],ant;

int main()
{
    f.getline(s,501);
    l = strlen(s);
    for (int i = 0; i < l; ++i)
    {
        lung = 1;
        ant = s[i];
        for (int j = 1; i+j < l && i-j >= 0; ++j)
        {
            if (s[i+j] <= ant &&  s[i+j] == s[i-j])
                lung += 2;
            else break;
        }
        if (lung > LM)
            LM = lung;
    }

    for (int i = 0; i < l-1; ++i)
    {
        if (s[i] == s[i+1])
        {
            lung = 2;
            ant = s[i];
            for (int j = 1; i-j >= 0 && i+1+j < l; ++j)
            {
                if (s[i-j] <= ant && s[i-j] == s[i+j+1])
                    lung += 2;
                else break;
            }
            if (lung > LM)
                LM = lung;
        }
    }

    g << LM;

    f.close();
    g.close();

    return 0;
}