Cod sursa(job #822955)

Utilizator razvan95Has Razvan Cristian razvan95 Data 24 noiembrie 2012 12:19:15
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
int main(){
    int v[100001],l[100001],i,j,n,lmax,pozmax;
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    f>>n;
    for(i=1;i<=n;i++)f>>v[i];
    l[n]=1;
    for(i=n-1;i>=1;i--){
        lmax=0;
        for(j=n;j>i;j--)if(l[j]>lmax&&v[j]>v[i])lmax=l[j];
        l[i]=lmax+1;
    }
    lmax=0;
    for(i=1;i<=n;i++){
        if(l[i]>lmax){
            lmax=l[i];
            pozmax=i;
        }
    }
    g<<lmax<<endl;
    for(i=pozmax;i<=n;i++){
        if(l[i]==lmax){
            g<<v[i]<<" ";
            lmax--;
        }
    }
    return 0;
}