Cod sursa(job #1885954)

Utilizator Marius7122FMI Ciltea Marian Marius7122 Data 20 februarie 2017 16:06:51
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>
#define N 100005

int n,i,m;
int v[N],l[N],pos[N];

void bs(int x)
{
    if(x>l[m])
        l[++m]=x;
    else
    {
        int step=1<<17,s=1;
        while(step)
        {
            if(s+step<=m && l[s+step]<=x)
                s+=step;
            step/=2;
        }
        l[s]=x;
    }
}

int main()
{
    FILE *f1,*f2;
    f1=fopen("scmax.in","r");
    f2=fopen("scmax.out","w");

    fscanf(f1,"%d",&n);
    for(i=1;i<=n;i++)
    {
        fscanf(f1,"%d",&v[i]);
        bs(v[i]);
    }

    fprintf(f2,"%d",m);

    return 0;
}