Cod sursa(job #1797083)

Utilizator ggaaggaabbiigoteciuc gabriel ggaaggaabbii Data 3 noiembrie 2016 23:20:00
Problema Subsir crescator maximal Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
#define MAXN 100010
int n,v[MAXN],poz[MAXN],tata[MAXN],maxim,j,x,sir[MAXN],sol[MAXN];
void afis(int nod,int pozitie)
{
    while(poz[pozitie]!=nod)
    pozitie--;
    if(nod>1)
    afis(nod-1,pozitie-1);
    g<<v[nod]<<' ';
}
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>v[i];
        j=1;
        while(sir[j]<v[i]&&j<=maxim)
        j++;
        sir[j]=v[i];
        poz[i]=j;
        maxim=max(maxim,j);
    }
    g<<maxim<<'\n';
    afis(maxim,n);

    return 0;
}