Cod sursa(job #1436232)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 15 mai 2015 15:42:23
Problema Subsir crescator maximal Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,mx,aux;
int a[100010],d[100010];
int main()
{
    f >> n;
    for(int i = 1; i <= n; i++){
        f >> a[i];
        d[i] = 1;
    }
    for(int i = n; i >= 1; i--){

        for(int j = i; j <= n; j++){
            if(d[j] >= d[i] && a[i] < a[j]){
                d[i] = d[j] + 1;
                if(d[i] > mx){
                    mx = d[i];
                    aux = a[i];
                }
            }
        }
    }
    g << mx <<'\n';

    g << aux <<' ';
    mx--;
    for(int i = 1; i <= n; i++){
        if(d[i] == mx && a[i] > aux){
            mx--;
            g << a[i] <<' ';
        }
    }
    return 0;
}