Cod sursa(job #1854238)

Utilizator FrequeAlex Iordachescu Freque Data 22 ianuarie 2017 15:14:36
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

const int NMAX = 100000 + 5;

int n;
int v[NMAX];
int dp[NMAX];
bool viz[NMAX];

void Read()
{
    fin >> n;
    for (int i = 1; i <= n; ++i)
        fin >> v[i];
}

int main()
{
    int maxx;
    Read();
    dp[n] = 1;
    for (int i = n - 1; i >= 1; --i)
    {
        maxx=0;
//        ++dp[i];
        for(int j = i + 1; j <= n; ++j)
        {
            if (v[i] < v[j])
            {
                maxx = max(maxx, dp[j]);
            }
        }
        dp[i] = maxx + 1;
    }

    maxx = dp[1];
    for(int i = 2; i <= n ; ++i)
        maxx=max(maxx, dp[i]);
    fout << maxx;
    return 0;
}