Cod sursa(job #1072830)

Utilizator asstasticAsstastic asstastic Data 4 ianuarie 2014 22:38:55
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    int i, j, n, bestest, best[100000], v[100000], a[100000];
    ifstream f("scmax.in");
    ofstream g("scmax.out");

    f>>n;
    bestest = 1;
    for(i=1; i<=n; i++){
            f>>v[i];
            best[i]=1;
            for(j=1; j<=i; j++)
            {
                if(v[j]<v[i] && best[j]+1 > best[i]) best[i]+=1;
                if(best[i]>bestest){ bestest = best[i]; j=i+1;}
            }
    }
    g<<bestest<<"\n";
    j=bestest;
    for(i=n; i>=1 && bestest; i--)
    {
        if(best[i] == bestest){ a[bestest]=v[i]; bestest--;}
    }
    for(i=1; i<=j; i++)
        g<<a[i]<<' ';
    return 0;
}