Cod sursa(job #1792369)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 30 octombrie 2016 13:24:12
Problema PalM Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("palm.in");
ofstream g("palm.out");
int i,j,k,sol,n,d[502][502][26];
char s[502];
int main()
{
    f>>(s+1);
    n=strlen(s+1);
    for(i=1;i<=n;++i)
        for(j=n;j;--j)
            for(k=0;k<26;++k)
            {
                if(s[i]==s[j]&&s[i]==k+'a') d[i][j][k]=d[i-1][j+1][k]+1;
                int v[]={d[i][j][k],d[i-1][j][k],d[i][j+1][k],d[i][j][k-1]};
                for(int p=1;p<4;++p) v[p]=(v[p-1]>v[p]?v[p-1]:v[p]);
                d[i][j][k]=v[3];
            }
    for(i=1;i<=n;++i)
        sol=max(sol,max(d[i][i][25]*2-1,d[i][i+1][25]*2));
    g<<sol;
    return 0;
}