Cod sursa(job #2485390)

Utilizator TheRealGamerFat Vlad TheRealGamer Data 1 noiembrie 2019 14:45:20
Problema Subsir crescator maximal Scor 45
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.23 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int main(){
    int v[100000], zed[100000] = {}, n = 1, i, j, aux, c[100000] = {}, m, k = 1, poz = -1, hasaki;
    in>>n;
    for(i = 1; i <= n; i++)
        in>>v[i];
    c[n] = -1;
    for(i = n - 1; i >= 1; i--){
        for(j = i + 1; j <= n; j++){
            if(v[i] < v[j]){
                    if(k == 1){
                        m = v[j];
                        k--;
                        poz = j;
                    }
                    if(m > v[j]){
                        m = v[j];
                        poz = j;
                    }
                aux = zed[j] + 1;
                if(zed[i] < aux)
                    zed[i] = aux;
            }
        }
        c[i] = poz;
        k = 1;
        poz = -1;
    }
    for(i = 1; i <= n; i++){
        if(poz == -1){
            hasaki = zed[i];
            poz = i;
        }
        if(hasaki < zed[i]){
            hasaki = zed[i];
            poz = i;
        }
    }
    out<<hasaki + 1;
    out<<endl;
    for(i = 1; i <= hasaki + 1; i++){
        out<<v[poz]<<" ";
        poz = c[poz];
    }
    return 0;
}