Cod sursa(job #2572546)

Utilizator anamariatoaderAna Toader anamariatoader Data 5 martie 2020 13:18:49
Problema Subsir crescator maximal Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");

int n,x,i,k,a[100005];

int cautbinar(int x){
    int st=1,dr=k,sol=0;
    while(st<=dr){
        int mij=(st+dr)/2;
        if(a[mij]>=x){
            sol=mij;
            dr=mij-1;
        }
        else
            st=mij+1;
    }
    if(sol==0)
        sol=++k;
    return sol;
}

int main()
{
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>x;
        int p=cautbinar(x);
        a[p]=x;
    }
    fout<<k<<'\n';
    for(i=1;i<=k;i++)
        fout<<a[i]<<' ';
    return 0;
}