Cod sursa(job #1547228)

Utilizator Razvan100Razvan Stefan Sipoteanu Razvan100 Data 9 decembrie 2015 09:30:45
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
using namespace std;
ifstream f("f1.in");
ofstream g("f2.out");

int i,j,n,m,k,x[101],y[101],a[101][101],d[202];
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    f>>x[i];
    f>>m;
    for(i=1;i<=m;i++)
    f>>y[i];
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    if(x[i]==y[j]) a[i][j]=1+a[i-1][j-1];
        else if(a[i-1][j]>a[i][j-1]) a[i][j]=a[i-1][j];
                                else a[i][j]=a[i][j-1];

                g<<a[n][m]<<" "<<endl;


i=n;j=m;k=0;
while(a[i][j]!=0)
if(x[i]==y[j]) {
                    k++;
                    d[k]=x[i];
                    i--;j--;
                    }
else if(a[i-1][j]>a[i][j-1]) i--;
                        else j--;

        g<<"Elemente subsir comun:"<<'\n';
        for(i=k;i>=1;i--)
        g<<d[i]<<" ";

        f.close();g.close();
        return 0;
}