Cod sursa(job #2402412)

Utilizator minculescualex9Minculescu Alex minculescualex9 Data 10 aprilie 2019 17:56:52
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.02 kb
#include    <iostream>
#include    <fstream>

using namespace std;

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

const int NMAX = 1030;

int FindNumber(unsigned int x, unsigned int v[],unsigned int poz_inceput, unsigned int lungime_sir){
    for(unsigned int i{poz_inceput}; i < lungime_sir; ++i){
        if(x == v[i])
            return i;
    }
    return -1;
}

int main()
{
    unsigned int M, N, v[NMAX]{0}, w[NMAX]{0};
    fin >> M >> N;

    for(unsigned int i{0}; i < M; ++i)
        fin >> v[i];
    for(unsigned int i{0}; i < N; ++i)
        fin >> w[i];

    unsigned int j{0}, nrAfisate{0};
    for(unsigned int i{0}; i < N; ++i){
        int pozitie = FindNumber(w[i], v, j, M);
        if(pozitie != -1){
            j = pozitie;
            ++nrAfisate;
        }
        else
            w[i] = 0;
    }

    fout << nrAfisate << "\n";
    for(unsigned int i{0}; i < N; ++i)
        if(w[i]) fout << w[i] << " ";


    fin.close();
    fout.close();
    return 0;
}