Cod sursa(job #859129)

Utilizator lilian_ciobanuLilian Ciobanu lilian_ciobanu Data 19 ianuarie 2013 18:49:01
Problema Cel mai lung subsir comun Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
using namespace std;
#define max(a, b) ((a > b) ? a : b)
unsigned short int a[1030],r[1030][1030];
main(){
ifstream f("cmlsc.in");
ofstream g("cmlsc.out");
unsigned short int m,n,i,j,max1=0,max2,poz=1,k;
f>>m>>n;
for(i=1;i<=m;i++) f>>a[i];
for(k=1;k<=n;k++){
f>>j;
for(i=1;i<=m;i++){
if(j==a[i])r[k][i]=1+r[k-1][i-1];
else r[k][i]=max(r[k-1][i],r[k][i-1]);
}} g<<r[n][m]<<"\n"; max1=1;
for(i=1;i<=m;i++) {if(r[n][i]==max1) {g<<a[i]<<" "; max1++;}}
}