Cod sursa(job #1457850)

Utilizator jonutz93Ioan Manta jonutz93 Data 4 iulie 2015 16:52:00
Problema Cel mai lung subsir comun Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>

using namespace std;
ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");

int m,n,v[300],v2[300];
int main(){
    int s[300][300];
    fin >> n>>m;
    for(int i = 1;i<=n;i++)
        {fin >>v[i];s[i][0]=0;s[0][i]=0;}
    for(int i = 1;i<=m;i++)
        fin >>v2[i];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
             if(v[i]==v2[j])
             {

                s[i][j]=1+s[i-1][j-1];
             }
             else
                s[i][j]=max(s[i-1][j],s[i][j-1]);
         }
fout<<s[n][m]<<endl;
for(int i =1;i<=n;i++)
        {for(int j = 0;j<=m;j++)
            if(s[i-1][j]<s[i][j] and s[i][j-1]<s[i][j])
            {
                fout<<v[i]<<" ";
            }
        }
return 0;
}