65 分,样例过了
#include<iostream>
#include<string>
#define int long long
using namespace std;
const int N = 1000+5;
int n;
string s;
int f[N][N];
signed main()
{
cin>>n>>s;
s = ' '+s;
for(int i=1;i<=n;i++)
{
f[i][i] = 1;
f[i][i-1] = 1;
}
int maxn = -5201314;
for(int len=2;len<=n;len++)
{
for(int i=1;i+len-1<=n;i++)
{
int j = i+len-1;
if(s[i]==s[j]) f[i][j] = f[i+1][j-1]+2;
f[i][j] = max(f[i][j],max(f[i+1][j],f[i][j-1]));
maxn = max(maxn,f[i][j]);
}
}
cout<<maxn;
return 0;
}