Cod sursa(job #3037497)

Utilizator VertimaXxFlorea Vlad VertimaXx Data 25 martie 2023 17:07:50
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100005],tatic[100005],i,j,maxi,n,p,D[100005],pm;
void drum(int poz)
{
    if(poz!= 0)
    {
        drum(tatic[poz]);
        fout << v[poz] << " ";
    }
}
int main()
{
    fin >> n;
    for(i=1;i<=n;i++)
    {
        fin >> v[i];
    }
    D[1] = 1;
    for(i=2;i<=n;i++)
    {
        maxi = 0;
        for(j=1;j<i;j++)
        {
            if(v[i] > v[j] && D[j] > maxi)
            {
                maxi = D[j];
                p = j;
            }
        }
        D[i] = maxi  +1;
        if(D[i] != 1)
        {
            tatic[i] = p;
        } else
        {
            tatic[i] = 0;
        }
    }
    maxi = 0;
    for(i=1;i<=n;i++)
    {
        if(D[i] > maxi)
        {
            maxi = D[i];
            pm = i;
        }
    }
    fout << maxi << endl;
    drum(pm);
}