Cod sursa(job #2861506)

Utilizator kontexVeres Norbert kontex Data 4 martie 2022 08:47:02
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n;
int const nmax = 50000;
int v[nmax];
int maxiertek[nmax];
int maxisorhossz = 0;

int elottemaxi(int it)
{
    int maxi = 0;
    for(int i = it +1 ; i<=n;i++)
    {
        if(v[i]>v[it] && maxi < maxiertek[i])
            maxi = maxiertek[i];
    }
    return maxi+1;
}
void scmax()
{
   for(int i=n;i>0;i--)
   {
        maxiertek[i]=elottemaxi(i);
        if(maxisorhossz < maxiertek[i])
            maxisorhossz = maxiertek[i];
   }
}
int main()
{
    be>>n;
    for(int i=1;i<=n;i++)
    {
        be>>v[i];
    }
    scmax();
    ki<<maxisorhossz<<endl;
    for(int i=1;i<=n;i++)
    {
        if(maxiertek[i]==maxisorhossz){
            ki<<v[i]<<' ';
            maxisorhossz--;
        }
    }

}