Cod sursa(job #3279019)

Utilizator RavasCristianRavas Cristian Nicolas RavasCristian Data 21 februarie 2025 18:10:54
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;
ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");
int s[1025][1025];
int n[1025],m[1025],afis[1025],N,M;
int main(){
    int k=0;
    fin>>N>>M;
    for(int i=0;i<N;i++)
    {
        fin>>n[i];
    }
    for(int i=0;i<M;i++)
    {
        fin>>m[i];
    }
    for(int i=0;i<N;i++)
    {
        for(int j=0;j<M;j++)
        {
            if(n[i]==m[j])
            {
                 k++;
                s[i+1][j+1]=s[i][j]+1;
                afis[k]=m[j];
            }
            else
            {
                s[i+1][j+1]=max(s[i][j+1],s[i+1][j]);
            }
           
        }
        
    }
   fout<<k<<endl;
    for(int i=1;i<=k;i++)
    {
        fout<<afis[i]<<' ';
    }
}