Cod sursa(job #2401827)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 10 aprilie 2019 09:20:08
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;

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

int n,i,j,k,maxim;
int v[100001],l[100001];

int main()
{
    f>>n;
    for (i=1;i<=n;i++)
        f>>v[i];
    l[n]=1;
    for (k=n-1;k>=1;k--)
    {
        maxim=0;
        for (i=k+1;i<=n;i++)
            if (v[i]>v[k] && l[i]>maxim)
                maxim=l[i];
        l[k]=maxim+1;
    }
    maxim=0;
    int poz=0;
    for (i=1;i<=n;i++)
        if (l[i]>maxim)
        {
            maxim=l[i];
            poz=i;
        }
    g<<maxim<<"\n";
    g<<v[poz]<<" ";
    for (i=poz+1;i<=n;i++)
        if (v[i]>v[poz] && l[i]==maxim-1)
        {
            g<<v[i]<<" ";
            maxim--;
        }
    return 0;
}