Cod sursa(job #2538640)
Utilizator | Rosca Rares Raresr14 | Data | 4 februarie 2020 21:35:57 |
---|---|---|---|
Problema | PalM | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("palm.in");
ofstream fout("palm.out");
int l,i,j,D[510][510],sol,n;
char s[510],c;
int main(){
fin>>s;
n=strlen(s);
for(c='z';c>='a';c--)
for(l=2;l<=n;l++)
for(i=0;i+l-1<=n;i++){
j=i+l-1;
if(s[i]==c){
D[i][i]=1;
if(s[i]==s[j])
D[i][j]=max(D[i][j],2+D[i+1][j-1]);
}
D[i][j]=max(D[i][j],max(D[i+1][j],D[i][j-1]));
sol=max(sol,D[i][j]);
}
fout<<sol;
return 0;
}