Cod sursa(job #3000872)

Utilizator Ciprian123Constantin Alexandru Ciprian123 Data 13 martie 2023 00:54:58
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;

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


int main()
{
    int M, N;
    fin >> M >> N;
    vector<int> A(M);
    vector<int> B(N);

    for(int i = 0; i < M; i++)
    {
        fin >> A[i];
    }

    for(int i = 0; i < N; i++)
    {
        fin >> B[i];
    }
    vector<int> v;
    int p = 0, pos = 0;
    for(int i = 0; i < M; i++)
    {
        if(B[p] == A[i])
        {
            v.push_back(B[p]);
            p++;
            pos = i;
        }
        if(p < N - 1 && i == M - 1)
        {
            i = pos;
            p++;
        }
        if(p == N)
        {
            break;
        }
    }


    fout << p - 1 << endl;
    for(int i = 0; i < p - 1; i++)
    {
        fout << v[i] << " ";
    }


    return 0;
}