Cod sursa(job #2534439)

Utilizator Pop_Rares123Pop Rares Pop_Rares123 Data 30 ianuarie 2020 16:18:40
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");

int n,m,i,j,a[1026],b[1026],c[1026][1026],d[1026],cnt=0,poz=0;

int main()
{
    fin>>n>>m;
    for(i=1; i<=n; i++)
        fin>>a[i];
    for(i=1; i<=m; i++)
        fin>>b[i];

    for (i=1; i<=m; i++)
    {
        for (j=1; j<=n; j++)
        {
            c[i][j]=max(c[i-1][j],c[i][j-1]);
            if (a[j]==b[i])
            {
                c[i][j]++;
                if(a[j]!=d[poz])
                {
                    poz++;
                    d[poz]=a[j];
                }
            }
        }
    }
    fout<<c[m][n]<<"\n";
    for (i=1; i<=poz; i++)
        fout<<d[i]<<" ";
}