Cod sursa(job #1623344)

Utilizator penetavyPene Cosmin-Octavian penetavy Data 1 martie 2016 18:54:02
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>

FILE *fin = fopen("scmax.in", "r");
FILE *fout = fopen("scmax.out", "w");

int v[100001], L[100001];

int main(){
    int n, i, j, maxm = 0;
    fscanf(fin, "%d", &n);
    for(i = 1; i <= n; i++)
        fscanf(fin, "%d", &v[i]);
    L[n] = 1;
    for(i = n - 1; i >= 1; i--)
        for(j = i; j <= n; j++){
            if(L[j] + 1 > L[i] && v[i] < v[j])
                L[i] = L[j] + 1;
            if(maxm < L[i])
                maxm = L[i];
        }
    fprintf(fout, "%d\n", maxm);
    for(i = 1; i <= n; i++)
        if(L[i] == maxm){
            fprintf(fout, "%d ", v[i]);
            maxm--;
        }

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