Cod sursa(job #2990503)

Utilizator danyyyDaniel danyyy Data 7 martie 2023 23:06:20
Problema Subsir crescator maximal Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
long long v[100001][2];
void afis(long long i,long long pas)
{
    if(pas==1)fout<<v[i][0]<< ' ';
    else
    {
        int z;
        for(z=i-1; z>=1; z--)
        {
            if(v[z][1]==pas-1)
            {
                afis(z,pas-1);
                break;
            }
        }
        fout<<v[i][0]<< ' ';
    }
}
int main()
{
    long long j,i,n,l,smax=0,idx;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>v[i][0];
        v[i][1]=1;
        for(j=i-1; j>=1; j--)
        {
            if(v[i][0]>v[j][0])
            {
                if(v[i][1]<=v[j][1])
                    v[i][1]=v[j][1]+1;
            }
        }
        if(smax<v[i][1])smax=v[i][1];
        idx=i;
    }
    fout<<smax<<'\n';
    afis(idx,smax);
}