Cod sursa(job #1748912)

Utilizator jason2013Andronache Riccardo jason2013 Data 27 august 2016 13:24:24
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<bits/stdc++.h>
#define NMax 100005
using namespace std;

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

int v[NMax], l[NMax], n, i, k, Max, t;

int main()
{
    in>>n;
    for(i=1; i<=n; i++)
        in>>v[i];
    l[n] = 1;
    for(k=n-1; k >=1; k--)
    {
        Max = 0;
        for(i = k+1; i <= n; i++)
            if(v[i] > v[k] && l[i] > Max)
            {
                Max = l[i];
            }
        l[k] = 1 + Max;
    }
    Max = l[1];
    t = 1;
    for(k = 1; k <= n; k++)
        if(l[k] > Max)
        {
            Max = l[k];
            t = k;
        }
    out<<Max<<"\n"<<v[t]<<" ";
    for(i = t + 1; i <= n; i++)
        if(v[i] > v[t] && l[i] == Max-1)
        {
            out<<v[i]<<" ";
            Max--;
        }
}