Cod sursa(job #1665092)

Utilizator Firealex2Rotileanu Alexandru Firealex2 Data 26 martie 2016 16:13:37
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;

ifstream fi("scmax.in");
ofstream fo("scmax.out");

#define N 100001

int v[N],pred[N],lung[N];
int pmax=1;

void sir(int p)
{
    if(pred[p]!=0)
        sir(pred[p]);
    fo<<v[p];
}
int n;

int main()
{
    int i,j;
    lung[1]=1;
    pred[1]=0;
    fi>>n;
    for(i=1;i<=n;i++)
        fi>>v[i];
    for(i=2;i<=n;i++)
    {
        lung[i]=0;
        for(j=1;j<i;j++)
        {

            if(v[j]<v[i])
                if(lung[j]>lung[i])
            {
                lung[i]=lung[j];
                pred[i]=i;
            }
        }
        lung[i]++;
        if(lung[i]>lung[pmax])
            pmax=i;
    }
    fo<<lung[pmax];
    sir(pmax);

    return 0;
}