Cod sursa(job #2424300)

Utilizator mihhTURCU MIHNEA ALEXANDRU mihh Data 22 mai 2019 21:00:50
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
#define N 100006
using namespace std;

ifstream fin ("scvmax.in");
ofstream fout("scvmax.out");

int n, a[N], lg[N], poz[N];

int main()
{
    int i, j;

    fin>>n;
    for(i=1; i<=n; ++i)
        fin>>a[i];

    for(i=1; i<=n; ++i)
    {
        lg[i]=1;
        for(j=1; j<=i; ++j)
            if(a[j]<a[i] and lg[i]<lg[j]+1)
                lg[i]+=lg[j] ,poz[i]=j;
    }

    int imax=1;
    for(i=2; i<=n; ++i)
        if(lg[i]>lg[j])
            j=i;

    fout<<a[j]<<" ";
    while(a[poz[j]])
        fout<<a[poz[j]]<<" ", j=poz[j];

    return 0;
}