Cod sursa(job #1294407)

Utilizator danalexandruDan Alexandru danalexandru Data 17 decembrie 2014 15:25:29
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int v[100001],lung[100001],pred[100001];

void subsir(int p)
{
    if(pred[p]!=0)
        subsir(pred[p]);
    g<<v[p]<<" ";
}
int main()
{
    int n,i,j,maxim,lmax;
    f>>n;
    for(i=1; i<=n; i++)
        f>>v[i];
    lung[1]=1;
    for(i=2; i<=n; i++)
    {
        lmax=0;
        for(j=1; j<i; j++)
            if(v[i]>v[j])
                if(lung[j]>lmax)
                {
                    lmax=lung[j];
                    pred[i]=j;
                    maxim=i;
                }
        lung[i]=1+lmax;

    }
    g<<lung[maxim]<<"\n";
    subsir (maxim);
}