Cod sursa(job #1239217)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 8 octombrie 2014 16:23:42
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
using namespace std;
long v[10000000], l[10000000], i, k, t, max1, n;
int main()
{
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    f>>n;
    for (i=1; i<=n; i++)
        f>>v[i];
    l[n]=1;
    for (k=n-1; k>=1; --k)
    {
        max1=0;
        for (i=k+1; i<=n; i++)
            if (v[i]>v[k]&&l[i]>max1)
                max1=l[i];
        l[k]=max1+1;
    }
    max1=l[1];
    t=0;
    for (i=1; i<=n; i++)
        if (l[i]>max1)
        {
            max1=l[i];
            t=i;
        }
    g<<max1<<"\n"<<v[t]<<" ";
    for (i=t+1; i<=n; i++)
        if (v[t]<v[i]&&l[i]==max1-1)
        {
            g<<v[i]<<" ";
            max1--;
        }
    return 0;
}