Cod sursa(job #2644752)

Utilizator RazvanLazar2004Lazar Razvan Gabriel RazvanLazar2004 Data 25 august 2020 20:42:44
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
int a[1025],b[1025],v[1025];
int dp[1025][1025]={};
using namespace std ;
int main(){
    ifstream in("cmlsc.in");
    ofstream out("cmlsc.out");
    long long int ar,br,l=0;
    in>>ar>>br;
    for(int i=1;i<=ar;i++){
        in>>a[i];
    }
    for(int i=1;i<=br;i++){
        in>>b[i];
    }
    for(int i=1;i<=ar;i++){
        for(int j=1;j<=br;j++){
            if(a[i]!=b[j]){
                dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
            }else{
                l++;
                v[l]=a[i];
                dp[i][j]=1+dp[i-1][j-1];
            }
        }
    }
    out<<l<<"\n";
    for(int i=1;i<=l;i++){
        out<<v[i]<<" ";
    }
}