Cod sursa(job #869837)

Utilizator gegeadDragos Gegea gegead Data 2 februarie 2013 13:45:12
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[100001],l[100001];



int main()
{
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
    int n,i,nr,poz;
    scanf("%d",&n);
    for(i=1;i<=n;++i)
        scanf("%d",&v[i]);
    nr=1;
    l[1]=v[1];
    for(i=2;i<=n;++i)
    {
        poz=lower_bound(l+1,l+nr+1,v[i])-l-1;
        l[poz+1]=v[i];
        if(poz==nr)
            ++nr;
    }
    printf("%d\n",nr);
    for(i=1;i<=nr;++i)
        printf("%d ",l[i]);
    return 0;
}