Cod sursa(job #1816393)

Utilizator alindima99Alin Dima alindima99 Data 26 noiembrie 2016 13:54:16
Problema Cel mai lung subsir comun Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

int f(int v[], int start, int n, int k)
{
    for(int i=start;i<=n;i++)
        if(v[i]==k)
            return i;

    return -1;
}

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

    int n,m,i,j,k=0,poz=1,aux;
    fin>>n>>m;
    int a[n],b[m],v[max(n,m)];

    for(i=1;i<=n;i++)
        fin>>a[i];

    for(i=1;i<=m;i++)
        fin>>b[i];

    for(i=1;i<=n;i++)
        if(m>=poz){
            aux=f(b,poz,m,a[i]);
            if(aux!=-1){
                poz=aux;
                v[++k]=b[poz];
            }
        }

    for(i=1;i<=k;i++)
        fout<<v[i]<<" ";

    return 0;
}