Cod sursa(job #1912785)

Utilizator lucahenry2075asdasd lucahenry2075 Data 8 martie 2017 10:39:55
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb

/* 
 * File:   generare.cpp
 * Author: lukebeck
 *
 * Created on March 8, 2017, 7:32 AM
 */

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int a[100000],n,i,lg[100000],max,mx,k,t;
    ifstream f("generare.in");
    ofstream g("generare.out");
    f>>n;
    for(i=1;i<=n;i++){
        f>>a[i];
    }
    lg[n]=1;
    for(k=n-1;k>0;k--){
        mx=0;
        for(i=k+1;i<=n;i++){
            if(a[i]>=a[k] && lg[i]>mx){
                mx=lg[i];
            }
        }    
        lg[k]=mx+1;
        if(lg[k]>max){
            max=lg[k];
            t=k;
        }
    }
    g<<max;
    g<<endl<<a[t]<<' ';
    for(i=t+1;i<=n;i++){
        if ((a[i]>=a[t]) && (lg[i]==max-1)){
            g<<a[i]<<' ';
            max--;
        }
    }
    return 0;
}