Cod sursa(job #808837)

Utilizator Nicusor002Telechi Nicolae Nicusor002 Data 7 noiembrie 2012 14:41:02
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
#define dim 100005
int n,v[dim],sol[dim];

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