Cod sursa(job #1392502)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 18 martie 2015 18:07:55
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#include <cstring>

#define DN 100005
using namespace std;

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

int v[DN],mini[DN],n,sz;

void read(){

    f>>n;
    for(int i=1;i<=n;++i)
        f>>v[i];
}

void solve(){

    memset(mini,127,sizeof(mini));
    mini[0] = 0;
    for(int i=1;i<=n;++i){

        int j;
        for(j=sz;j>=0 and mini[j] >= v[i];--j);

        mini[j+1] = min(mini[j+1],v[i]);
        sz=max(sz,j+1);
    }

    g<<sz<<"\n";
    for(int i=1;i<=sz;++i)
        g<<mini[i]<<" ";
}

int main()
{
    read();
    solve();
    return 0;
}