Cod sursa(job #1713223)

Utilizator FredyLup Lucia Fredy Data 4 iunie 2016 22:41:21
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100005], l[100005], ant[100005], n, i, j, lmax, smax, pmax, x[100005], p;
int main()
{   f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];

    for(i=1;i<=n;i++)
    {   lmax=0;
        for(j=1;j<=i-1;j++)
        {
            if(v[i]>v[j] && l[j]>lmax)
            {   lmax=l[j];
                ant[i]=j;
            }
        }
        l[i]=lmax+1;
        if(l[i]>smax)
        {   smax=l[i];
            pmax=i;
        }

    }
    /*for(i=1;i<=n;i++)
     cout<<ant[i]<<' ';*/
    g<<smax<<'\n';

    for(i=pmax;i>=1;i=ant[i])
    {   p++;
        x[p]=v[i];
    }
    for(i=p;i>=1;i--)
        g<<x[i]<<' ';
    return 0;
}