Cod sursa(job #2058944)

Utilizator antonia.gheorgheGheorghe Antonia antonia.gheorghe Data 6 noiembrie 2017 14:44:21
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int a[100000], n, lmax, pmax, l[100000], u,i,j,ma;

int main()
{
    f>>n;
    for (i=1;i<=n;i++)
        f>>a[i];

    l[n]=1;
    pmax=n;
    lmax=1;

    for (i=n-1;i>=1;i--)
    {
        ma=0;

        for (j=i+1;j<=n;j++)
        if (a[i]<a[j] && l[j]>ma) ma=l[j];

        l[i]=1+ma;

        if ( l[i]> lmax)
        {
            lmax=l[i];
            pmax=i;
        }

    }

g<< lmax<<endl;
    g<<a[pmax]<<" ";

    lmax--;
    u=a[pmax];

    for (i=pmax+1;i<=n;i++)

        if (l[i]==lmax && a[i]>u)
        {
            g<<a[i]<<" ";
            u=a[i];
            lmax--;
        }
    return 0;

}