Cod sursa(job #413155)
| Utilizator | Data | 7 martie 2010 20:39:52 | |
|---|---|---|---|
| Problema | Cel mai lung subsir comun | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
int v[2048][2048],a[2048],b[2048];
int main()
{
int n,m,i,j;
ifstream in("cmlsc.in");
ofstream out("cmlsc.out");
in>>n>>m;
for (i=1;i<=n;i++)
in>>a[i];
for (i=1;i<=m;i++)
in>>b[i];
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
if (a[i]==b[j])
v[i][j]=v[i-1][j-1]+1;
else
v[i][j]=max(v[i-1][j],v[i][j-1]);
}
out<<v[n][m];
return 0;
}
