Cod sursa(job #1448246)

Utilizator NoSwearFlorea Marian NoSwear Data 6 iunie 2015 14:59:34
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
using namespace std;
int n, x, p, u, mij, i, nr, sol[100003];
ifstream in("scmax.in");
ofstream out("scmax.out");
int main(){
    in>>n;
    for(i=1; i<=n; i++){
        in>>x;
        p=1; u=nr;
        while(p<=u){
            mij=p+(u-p)/2;
            if(x<=sol[mij])
                u=mij-1;
            else
                p=mij+1;
        }
        if(x<sol[p])
            sol[p]=x;
        if(p>nr)
            sol[++nr]=x;
    }
    out<<nr<<"\n";
    for(i=1; i<=nr; i++)
        out<<sol[i]<<" ";
return 0;
}