Cod sursa(job #1015940)

Utilizator tsubyRazvan Idomir tsuby Data 25 octombrie 2013 14:32:24
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <cstdio>
#define N 100000
using namespace std;

int a[N], l[N], n, poz, max;

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

void afisare()
{
    printf("%d\n", max+1);
    max++;
    for(int i = poz; i < n; i++)
        if(l[i] == max-1)
        {
            printf("%d ", a[i]);
            max--;
        }
}
int main()
{
    freopen("scmax.in","r",stdin);
    freopen("scmax.out", "w", stdout);
    citire();
    max = -1;
    for(int i = n-1; i >= 0; i--)
        for(int j = i+1; j < n; j++)
            if(a[j] > a[i])
            {
                l[i] = l[j]+1;
                max = l[i];
                break;
            }
    afisare();
    return 0;
}