Nu aveti permisiuni pentru a descarca fisierul grader_test4.in

Cod sursa(job #1552743)

Utilizator SolcanMihaiSolcan Mihai Andrei SolcanMihai Data 18 decembrie 2015 16:09:37
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.2 kb
#include <cstdio>

using namespace std;

int n;
int x[100];   //sir initial
int y[100];   //sir cu lungimi
int sir[100];

void citire()
{
    scanf("%d", &n);

    for(int i = 0; i < n; i++)
    {
        scanf("%d", &x[i]);
    }
}

void calculeazaLungimi()
{
    y[n - 1] = 1;

    for(int i = n - 2; i >= 0; i--)
    {
        int maxim = 0;

        for(int j = i + 1; j < n; j++)
        {
            if(x[i] < x[j])
            {
                if(maxim < y[j])
                {
                    maxim = y[j];
                }
            }
        }

        y[i] = maxim + 1;
    }
}

void afiseazaLungimeMaxima()
{
    int maxim = 0;

    for(int i = 0; i < n; i++)
    {
        if(maxim < y[i])
        {
            maxim = y[i];
        }
    }

    printf("%d\n", maxim);

    int element = maxim;

    for(int i = 0; i < n; i++)
    {
        if(element == y[i])
        {
            element--;
            printf("%d ", x[i]);
        }
    }

}

int main()
{
    freopen("scmax.in", "r", stdin);
    freopen("scmax.out", "w", stdout);

    citire();
    calculeazaLungimi();
    afiseazaLungimeMaxima();


    return 0;
}