Cod sursa(job #649083)

Utilizator diana_ddDiana Beleiu diana_dd Data 15 decembrie 2011 11:21:21
Problema Cel mai lung subsir comun Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
using namespace std;
int max(int a, int b, int c)
	{if(a>=b&&a>=c)return a;
     if(b>=c&&b>=a)return b;
	 return c;
  }
int main()
{
ifstream f("cmlsc.in");
ofstream g("cmlsc.out");
int n,m,v1[1024],vant[1024]={0},vmeu[1024],vfin[1024],i,j,k=0,dd;
f>>n>>m;
for(i=0;i<n;i++)f>>v1[i];
for(i=0;i<m;i++)
	{f>>dd;
	 for(j=0;j<n;j++)
	   if(dd==v1[j]) 
			{vmeu[j]=max(vant[j-1]+1,vmeu[j],vant[j]);
			 if(vmeu[j]==vant[j-1]+1) vfin[++k]=dd;
	         }
	for(j=0;j<n;j++)
	   vant[i]=vmeu[i];
		
	}
g<<k<<endl;
for(i=0;i<k;i++)g<<vfin[i+1]<<" ";
f.close();
g.close();
return 0;
}