Cod sursa(job #1998113)

Utilizator RaduPatraRadu Patra RaduPatra Data 6 iulie 2017 16:23:20
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#include <iostream>

using namespace std;

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


int v[100005],a[100005],rar[100005];

void caca(int m)
{
    if(m)
        {
        caca(rar[m]);
        g<<v[m]<<" ";
        }
}

int main()
{
    int n,i,j,maxx,r,m;
    f>>n;
    for(i=1;i<=n;++i)
        f>>v[i];

    for(i=1;i<=n;++i)
        {
        maxx=1;
        r=0;
        for(j=1;j<i;++j)
            if(v[i]>v[j] && maxx<=a[j])
                {
                maxx=a[j]+1;
                r=j;
                }
        a[i]=maxx;
        rar[i]=r;
        }
    maxx=0;
    for(i=1;i<=n;++i)
        if(a[i]>maxx)
            {
            maxx=a[i];
            m=i;
            }
//    for (int i=1; i<=n; ++i)
//        cout << rar[i] << ' ';

    g<<maxx <<endl;

    caca(m);

    return 0;
}