Cod sursa(job #1496015)

Utilizator DanutsDanut Rusu Danuts Data 4 octombrie 2015 05:16:45
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream gout("scmax.out");

void scmax(int v[],int n)
{
    int *lg = new int[n],maxim=0;
    for(int i=0;i<n;++i)
        lg[i]=0;
    lg[n-1]=1;

    for(int i=n-2;i>=0;--i)
    {
        int m = 0;
        for(int j=i+1;j<n;++j)
            if(v[i] < v[j])
                m = max(m,lg[j]);
        lg[i]=m+1;
        maxim = max(maxim,lg[i]);
    }
    for(int i=0;i<n;++i)
        if(maxim==lg[i]){
            gout<<v[i]<<" ";
            maxim--;
        }
}
int main()
{


    int n,*v;
    fin>>n;
    v = new int[n];
    for(int i=0;i<n;++i)
        fin>>v[i];
    scmax(v,n);
    return 0;
}