Cod sursa(job #887213)

Utilizator mihai27Mihai Popescu mihai27 Data 23 februarie 2013 16:52:44
Problema Subsir crescator maximal Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>

using namespace std;

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

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

int cautbin(int st,int dr,int x)
{
    int m=(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]<<' ';
}