Cod sursa(job #2534427)

Utilizator Dorin07Cuibus Dorin Iosif Dorin07 Data 30 ianuarie 2020 16:13:26
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
using namespace std;

int n, m, mat[1001][1001], a[1024], b[1024], v[1024], k = 1;

int main(){
    cin>>n;
    cin>>m;
    for(int i = 1; i <= n; ++i)
        cin>>a[i];
    for(int i = 1; i <= m; ++i)
        cin>>b[i];
    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;
                v[k] = a[i];
                ++k;
            }
            else
                mat[i][j] = max(mat[i][j-1], mat[i-1][j]);
        }
    }
    cout<<mat[n][m]<<'\n';
    for(int i = 1; i < k; ++i)
        cout<<v[i]<<' ';


}