Cod sursa(job #2534448)
| Utilizator | Data | 30 ianuarie 2020 16:21:56 | |
|---|---|---|---|
| Problema | Cel mai lung subsir comun | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");
int a[10],m,b[10],n,ab[10][10],v[10],k;
int main()
{
fin>>m;
fin>>n;
for(int i=1;i<=m;i++)
fin>>a[i];
for(int i=1;i<=n;i++)
fin>>b[i];
for (int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
if (a[i]==b[j])
{
ab[i][j]=ab[i-1][j]+1;
v[k]=a[i];
k++;
}
else
ab[i][j]= max(ab[i-1][j],ab[i][j-1]);
fout<<ab[m][n]<<endl;
for(int i=0;i<k;i++)
fout<<v[i]<<" ";
return 0;
}
