Cod sursa(job #1778813)

Utilizator andysoloAndrei Solo andysolo Data 14 octombrie 2016 10:15:45
Problema Subsir crescator maximal Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>

using namespace std;

int v[100001],n;
int p[100001];
int q[100001];
int l;

ifstream a("scmax.in");
ofstream b("scmax.out");

int cautbin(int f,int l,int x)
{
    int m=f+(l-f)/2;

    if(f<l)
    {
        if(x<=q[m])
            return cautbin(f,m,x);
        else return cautbin(m+1,l,x);

    }
    else if(f==l && x<=q[f])return f;
    else return f+1;

}


int main()
{
    a>>n;
    for(int i=1;i<=n;i++)
    a>>v[i];

    p[1]=1;
    q[1]=v[1];
    l=1;

    for(int i=2;i<=n;i++)
    {
        int poz=0;
        poz=cautbin(1,l,v[i]);
        q[poz]=v[i];
        p[i]=poz;
        if(poz>l)l++;
    }

    int m=0,d=0;
    for(int i=1;i<=n;i++)
        if(m<p[i])
        {
            m=p[i];
            d=i;
        }
    b<<m<<'\n';
 //   b<<v[d];
 //   for(int i=d-1;i>=1;i--)
 //       if(p[i]==m-1 && v[i]<)
    int s=0;
    for(int i=1;i<=n;i++)

    return 0;
}