Cod sursa(job #2261381)

Utilizator blajut.cristin12@gmail.comBlajut Cristin Marian [email protected] Data 16 octombrie 2018 10:37:15
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int urm[10000],lis[10000],a[10000];
int k,i,j,x,y;
void citire()
{
    fin>>k;
    for(i=1;i<=k;i++)
        fin>>a[i];
}
void pd(int n)
{
        urm[n]=0;
        lis[n]=1;
        for(i=n;i>=1;i--)
        {
            for(j=i;j<=n;j++)
            {
                if(a[i]>a[j])
                    x=lis[j]+1;
                if(lis[i]<x)
                {
                    lis[i]=x;
                    urm[i]=j;
                }
            }
        }
}
void afisare2(int sol)
{
    fout<<a[sol]<<' ';
    afisare2(urm[sol]);
}
void afisare()
{
    int maxim,sol;
    for(i=1;i<=k;i++)
    {
        if(lis[i]>maxim)
        {
            maxim=lis[i];
            sol=i;
        }
    }
    fout<<maxim<<'\n';
    for(i=1;i<=maxim;i++)
    {
        afisare2(sol);
    }
}
int main()
{
    citire();
    pd(k);
    afisare();
    return 0;
}