Cod sursa(job #514491)
| Utilizator | Data | 18 decembrie 2010 20:26:15 | |
|---|---|---|---|
| Problema | Cel mai lung subsir comun | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <cstdio>
int lcs[1024][1024];
int v1[1024];
int v2[1024];
int main(){
freopen("cmlsc.in","r",stdin);
freopen("cmlsc.out","w",stdout);
int m,n,mx=0;
scanf("%d%d",&m,&n);
for(int i=1;i<=m;i++)
scanf("%d",v1+i);
for(int i=1;i<=n;i++)
scanf("%d",v2+i);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
if(v1[i]!=v2[j])
lcs[i][j]=0;
else{
lcs[i][j]=lcs[i-1][j-1]+1;
if(lcs[i][j]>mx)
mx=lcs[i][j];
}
printf("%d\n",mx);
return 0;
}
