Cod sursa(job #1400848)

Utilizator marcdariaDaria Marc marcdaria Data 25 martie 2015 14:50:35
Problema Cel mai lung subsir comun Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;

ifstream cin("cmlsc.in");
ofstream cout("cmlsc.out");

int max(int a, int b){
if(a>b) return a;
else return b;}

int main()
{
    int sol[1000][1000],i,j,a[1000],b[1000],n,m;
    cin>>n>>m;
    for(i=1;i<=n;i++) cin>>a[i];
    for(j=1;j<=m;j++) cin>>b[i];

    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    if(a[i]==b[j]) sol[i][j]=1+sol[i-1][j-1];
    else sol[i][j]=max(sol[i-1][j],sol[i][j-1]);
    return 0;
}