Cod sursa(job #1461784)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 16 iulie 2015 14:48:34
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>

using namespace std;

int v[100003], l[100003];
int n, i, k, t, maxim;

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--)
    {
        maxim = 0;
        for (i=k+1; i<=n; i++)
            if (v[i]>v[k] && l[i]>maxim)
            maxim = l[i];
        l[k] = 1+maxim;
    }
    maxim = l[1];
    t = 1;
    for (k=1; k<=n; k++)
        if (l[k] > maxim)
        {
            maxim = l[k];
            t = k;
        }
        g << maxim << "\n" << v[t] << " ";
    for (i=t+1; i<=n; i++)
        if (v[i]>v[t] && l[i]==maxim-1)
        {
            g << v[i] << " ";
            maxim--;
        }
    return 0;
}