Cod sursa(job #2636787)

Utilizator GiosinioGeorge Giosan Giosinio Data 19 iulie 2020 22:39:36
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#define DIM 100005

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int a[DIM], N, lung[DIM], p[DIM], maxim, imax;

void afisare(int ind){
    if(ind != 0){
        afisare(p[ind]);
        g<<a[ind]<<" ";
    }
}

int main()
{
    f>>N;
    for(int i=1; i<=N; i++){
        f>>a[i];
        for(int j=1; j<i; j++){
            if(a[i] > a[j] && lung[j] > lung[i]){
                lung[i] = lung[j];
                p[i] = j;
            }
        }
        lung[i]++;
        if(lung[i] > maxim){
            maxim=lung[i];
            imax = i;
        }
    }
    g<<maxim<<"\n";
    afisare(imax);
}