Cod sursa(job #887230)

Utilizator mihai27Mihai Popescu mihai27 Data 23 februarie 2013 17:06:46
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>

using namespace std;

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

long long i,nr,n,x,a[10005];

long long cautbin(long long st,long long dr,long long x)
{
    long long m;
    m=(long long)(st+dr)/2;

    if (st==dr && x<=a[st]) return st;
    if (st==dr && x>a[st])  return ++nr;

    if (a[m]<x) cautbin(m+1,dr,x);
        else if (a[m]>x) cautbin(st,m,x);
}

int main()
{
    in>>n>>a[++nr];

    for (i=2;i<=n;i++)
    {
        in>>x;
        a[cautbin(1,nr,x)]=x;
    }
    out<<nr<<'\n';
    for (i=1;i<=nr;i++)
        out<<a[i]<<' ';
}