Mai intai trebuie sa te autentifici.

Cod sursa(job #2205652)

Utilizator TofanAlexandruTofan Alexandru TofanAlexandru Data 19 mai 2018 19:38:56
Problema Cel mai lung subsir comun Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.8 kb
///;#include <bits/stdc++.h>
#include <fstream>
#include <algorithm>
#define for(i, a, b) for(int i = a; i <= b; i++)
using namespace std;ifstream cin("cmlsc.in");ofstream cout("cmlsc.out");
int maxi(int a,int b){
    return (a>b)? a : b;
}
int n,m,f[1025],l,v[1025],k[1025][1025],s[1025];
int main()
{
    cin>>n>>m;for(i ,1 ,n)cin>>f[i];for(i ,1 ,m)cin>>v[i];
    for(i ,1 ,n)
        for(j ,1 ,m){
            if(f[i]==v[j])
                k[i][j]=1+k[i-1][j-1];
            else {
                k[i][j]=maxi(k[i-1][j],k[i][j-1]);
            }
        }
    int i=n,j=m;
    while(i){
        if(f[i]==v[j]){
            s[++l]=f[i];i--;j--;
        }
        else if(k[i-1][j]<k[i][j-1])
            j--;
        else i--;
    }
    cout<<l<<'\n';
    for(i ,1 ,l)cout<<s[l-i+1]<<' ';cout.close();
}

///
/*

*/
























///else for(int j=1;j<=n;j++)f[i][j]=f[n-i+1][j]=f[j][n-i+1]=f[j][i]=0;#include <fstream>
///#include <algorithm>
///cout.close();ifstream cin("arhitectura2.in");ofstream cout("arhitectura2.out");

/**
#include <fstream>
using namespace std;ifstream cin("forus.in");ofstream cout("forus.out");
int p,n,f[31];
int main()
{
    cin>>p;
    if(p==1){
        cin>>n;for(int i=1;i<=n;++i)cin>>f[i];
        int l=n,k=0;
        for(int i=1;i<=n;i++){
            while(f[i]){
                int c=f[i]%10;f[i]/=10;if(c==0)k=1;
            }
            l-=k;k=0;
        }
        cout<<l;
    }
    cout.close();
}
*/









///







///1817#include <fstream>
///ifstream cin("compus.in");ofstream cout("compus.out");
  ///cout.close();













































/// ////////////////////////////////////////////////////muie