Cod sursa(job #1878864)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 14 februarie 2017 15:46:58
Problema Cel mai lung subsir comun Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <stdio.h>
#include <climits>
using namespace std;

int M, N, arr1[1<<10], arr2[1<<10];
int k, ans[1<<10], index, length;

int main(){

freopen("clmsc.in", "r", stdin);
freopen("clmsc.out", "w", stdout);

scanf("%d %d", &M, &N);

for(int i = 0; i < M; i++){
    scanf("%d", &arr1[i]);
}
for(int i = 0; i < N; i++){
    scanf("%d", &arr2[i]);
}
for(int i = 0; i < M; i++){
    for(int j = k; j < N; j++){
        if(arr1[i] == arr2[j]){
            ans[index++] = arr1[i];
            length++;
            k = j + 1;
            break;
        }
    }
}
printf("%d\n", length);

for(int i = 0; i < length; i++){
    printf("%d ", ans[i]);
}
return 0;
}