Cod sursa(job #1299533)

Utilizator anio123Ana Anduta anio123 Data 23 decembrie 2014 18:31:56
Problema Cel mai lung subsir comun Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>

using namespace std;

int n, m, i, j, k, nr, a[1050], b[1050], s[1050];

int main()
{
	ifstream f("cmlsc.in");
	ofstream h("cmlsc.out");
	f >> m >> n;
	for (i = 1; i <= m; ++i)
		f >> a[i];
	for (j = 1; j <= n; ++j)
		f >> b[j];
	i = 1; 
	nr = 0;
	j = 1;
	k = 1;
	while (i <= m)
	{
		while (k <= n && a[i] != b[k])
			++k;
		if (a[i] == b[k])
		{
			++nr;
			s[nr] = a[i];
			++i;
			++k;
			j = k;
		}
		else
		{
			++i;
			k = j;
		}
	}
	h << nr << '\n';
	for (i = 1; i <= nr; ++i)
		h << s[i] << " ";
	h << '\n';
}