Cod sursa(job #2644752)
| Utilizator | Data | 25 august 2020 20:42:44 | |
|---|---|---|---|
| Problema | Cel mai lung subsir comun | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include<fstream>
int a[1025],b[1025],v[1025];
int dp[1025][1025]={};
using namespace std ;
int main(){
ifstream in("cmlsc.in");
ofstream out("cmlsc.out");
long long int ar,br,l=0;
in>>ar>>br;
for(int i=1;i<=ar;i++){
in>>a[i];
}
for(int i=1;i<=br;i++){
in>>b[i];
}
for(int i=1;i<=ar;i++){
for(int j=1;j<=br;j++){
if(a[i]!=b[j]){
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}else{
l++;
v[l]=a[i];
dp[i][j]=1+dp[i-1][j-1];
}
}
}
out<<l<<"\n";
for(int i=1;i<=l;i++){
out<<v[i]<<" ";
}
}
