#include<stdio.h>
#include<string.h>
int n,a[100001],b[100001],c[100001][100001];
void sonstr()
{
int max;
for(int i=1;i<=n;i++)
c[i][0]=0;
for(int i=1;i<=n;i++)
c[0][i]=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i]==b[j])
c[i][j]=c[i-1][j-1]+1;
else if(c[i][j-1]>=c[i-1][j])
c[i][j]=c[i][j-1];
else
c[i][j]=c[i-1][j];
}
}
max=c[n][n];
printf("%d",max);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n;i++)
scanf("%d",&b[i]);
sonstr();
}
为什么re 编译器可以运行啊