Cod sursa(job #3279010)

Utilizator RavasCristianRavas Cristian Nicolas RavasCristian Data 21 februarie 2025 17:56:36
Problema Cel mai lung subsir comun Scor 10
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.8 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=1;
    fin>>N>>M;
    for(int i=1;i<=N;i++)
    {
        fin>>n[i];
    }
    for(int i=1;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])
            {
               
                s[i+1][j+1]=s[i][j]+1;
                afis[k]=n[i];
                k++;
            }
            else
            {
                s[i+1][j+1]=max(s[i][j+1],s[i+1][j]);
                
            }
           
        }
       
    }
    fout <<s[N][M]<<endl;
    for(int i=2;i<k;i++)
    {
        fout<<afis[i]<<' ';
    }
}