Pagini recente » Cod sursa (job #2652810) | Cod sursa (job #347132) | Cod sursa (job #238240) | Cod sursa (job #1960409) | Cod sursa (job #2489999)
#include <fstream>
using namespace std;
ifstream in("clmsc.in");
ofstream out("clmsc.out");
int mat[1030][1030];
int a[1030], b[1030];
int vec[1030];
int main()
{
int n, m, k=0;
in>>n>>m;
for(int i=1; i<=n; i++)
in>>a[i];
for(int j=1; j<=m; j++)
in>>b[j];
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
{
if(a[i]==b[j])
{
mat[i][j]=mat[i-1][j-1]+1;
vec[++k]=b[j];
}
else
mat[i][j]=max(mat[i][j-1], mat[i-1][j]);
}
out<<mat[n][m]<<'\n';
for(int i=1; i<=k; i++)
out<<vec[i]<<" ";
in.close();
out.close();
return 0;
}