Cod sursa(job #1153001)

Utilizator lilian_ciobanuLilian Ciobanu lilian_ciobanu Data 25 martie 2014 10:28:34
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>

using namespace std;

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

int n,a[100009];

int main(){
    int i,x,s,d,m,r=0;

    f>>n;
    for(i=1; i<=n; ++i){
        f>>x;
        s=1; d=r;
        while(s<d){
            m=(s+d)/2;
            if(a[m]<x)
                s=m+1;
            else
                d=m;
        }
        if(a[s]==0){
            a[s]=x;
            r++;
        }
        else
        if(a[s]<x){
            r++;
            a[r]=x;
        }
        else
        if(a[s]>x){
            a[s]=x;

        }
    }

    g<<r<<'\n';
    for(i=1; i<=r; ++i)
        g<<a[i]<<' ';



return 0;
}