Cod sursa(job #1496627)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 5 octombrie 2015 12:02:18
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
# include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100001],l[100001],a[100001],x,i,n,maxim,Maxim,j,k;
int main () {
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    l[1]=1;
    for(i=2;i<=n;i++){
        maxim=0;
        for(j=1;j<=i-1;j++){
            if(l[j]>maxim&&v[i]>v[j]){
                maxim=l[j];
                a[i]=j;
            }
        }
        l[i]=1+maxim;
        if(l[i]>Maxim){
            Maxim=l[i];
            k=i;
        }
    }
    l[1]=v[k];
    fout<<Maxim<<"\n";
    for(i=2;i<=Maxim;i++){
        l[i]=v[a[k]];
        k=a[k];
    }
    for(i=Maxim;i>=1;i--){
        fout<<l[i]<<" ";
    }
    return 0;
}