Cod sursa(job #1999876)

Utilizator lupulescu2001Lupulescu Vlad lupulescu2001 Data 12 iulie 2017 12:26:45
Problema Cel mai lung subsir comun Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
using namespace std;
ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");
int a[1027][1027],v[1027],x[1027];
int main()
{
    int i,j,n,m,k=1,lin=1;
    fin>>n>>m;
    for(i=1;i<=n;i++)
        fin>>v[i];
    for(i=1;i<=m;i++)
        fin>>x[i];
    for(i=1;i<=m;i++)
        for(j=1;j<=n;j++)
        if(v[j]==x[i])
        a[i][j]=a[i-1][j-1]+1;
    else
        a[i][j]=max(a[i-1][j],a[i][j-1]);
        fout<<a[m][n]<<'\n';

    while(lin<=n)
    {
        for(i=1;i<=m;i++)
            if(a[i][lin]==k)
            {
                fout<<x[i]<<" ";
                k++;
            }
            lin++;
    }


}