Cod sursa(job #2900547)

Utilizator andreipirjol5Andrei Pirjol andreipirjol5 Data 11 mai 2022 09:45:42
Problema Subsir crescator maximal Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <cstdio>

using namespace std;
FILE *fin, *fout;

int max(int a , int b)
{
    return (a > b) ? a : b;
}

#define NMAX 100000
int v[NMAX + 5], sol[NMAX + 5];
int maxim;

int main()
{
    fin = fopen("scmax.in", "r");
    fout = fopen("scmax.out", "w");

    int n;
    fscanf(fin, "%d", &n);
    int i;
    for(i = 1; i <= n; i++)
        fscanf(fin, "%d", &v[i]);

    i = 1;
    sol[i] = 1;
    int j;
    for(i = 2; i <= n; i++)
    {
        maxim = 0;

        for(j = 1; j < i; j++)
            if(v[j] < v[i])
                    maxim = max(maxim , sol[j]);

        sol[i] = maxim + 1;
    }

    maxim = 0;
    for(i = 1; i <= n; i++)
        maxim = max(maxim , sol[i]);

    fprintf(fout , "%d" , maxim);

    fclose(fin);
    fclose(fout);
    return 0;
}