Cod sursa(job #2689792)

Utilizator razvansfechisRazvan Sfechis razvansfechis Data 22 decembrie 2020 10:24:12
Problema Cel mai lung subsir comun Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream cin("cmlsc.in");
ofstream cout("cmlsc.out");

int main()
{
    short A[1025], M;
    short B[1025], N;

    cin >> M >> N;

    for (int i = 1; i <= M; ++i)
        cin >> A[i];

    for (int i = 1; i <= N; ++i)
        cin >> B[i];

    short C[1025], K = 0;

    for (int p = 1; p <= M; ++p)
    {
        int q = 1;

        short T[1025], U = 0;

        for (int i = p; i <= M; ++i)
        {
            for (int j = q; j <= N; ++j)
                if (A[i] == B[j])
                {
                    T[++U] = A[i];
                    q = j + 1;
                    break;
                }
        }

        if (U > K)
        {
            K = U;
            for (int i = 1; i <= U; ++i)
                C[i] = T[i];
        }
    }

    cout << K << '\n';
    for (int i = 1; i <= K; ++i)
        cout << C[i] << ' ';
}