#include<bits/stdc++.h>
using namespace std;
int n,a[3005],b[3005],f[3005][3005],ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
for(int i=1;i<=n;i++){
int mx=1;
for(int j=1;j<=n;j++){
f[i][j]=f[i-1][j];
if(a[i]==b[j])
f[i][j]=max(f[i][j],mx);
if(a[i]>b[j])
mx=max(f[i-1][j]+1,mx);
}
}
for(int i=1;i<=n;i++)
ans=max(ans,f[n][i]);
cout<<ans;
return 0;
}
不知为什么在测的时候出了问题?(WA了
对比另一题一样的却能过。
有没有大佬肯帮蒟蒻一臂之力?
(这是其它平台的
悬赏1关注!