Cod sursa(job #2065090)

Utilizator benjamin2205Zeic Beniamin benjamin2205 Data 13 noiembrie 2017 13:01:36
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 1.24 kb
#include <bits/stdc++.h>

using namespace std;

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

int n;
int sirInit[100005];
int lungime[100005];
int memorie[100005];

void afisareSir(int*, int);
void citire();

void rezolvare() {
    int maxim;
    int maxGlobal = 0;
    for (int i = 1; i <= n; ++i) {
        maxim = 0;
        lungime[i] = 1;
        for (int j = i - 1; j >= 1; --j) {
            if (sirInit[i] > sirInit[j]) {
                if (maxim < lungime[j]) {
                    lungime[i] = 1 + lungime[j];
                    maxim = lungime[j];
                    if (maxGlobal < lungime[i]) {
                        maxGlobal = lungime[i];
                    }
                }
            }
        }
    }
    g << maxGlobal;
}

void maxim() {
    int maxim = 0;
    for (int i = 1; i <= n; ++i) {
        maxim = max(lungime[i], maxim);
    }
    g << maxim;
}

int main()
{
    citire();
    rezolvare();
    //afisareSir(lungime, n);
    //maxim();

    return 0;
}

void citire() {
    f >> n;
    for (int i = 1; i <= n; ++i) {
        f >> sirInit[i];
    }
}

void afisareSir(int a[], int n) {
    for (int i = 1; i <= n; ++i) {
        g << a[i] << ' ';
    }
}