Cod sursa(job #1623353)

Utilizator penetavyPene Cosmin-Octavian penetavy Data 1 martie 2016 18:57:33
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 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--){
        L[i] = 1;
        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--;
        }
    fprintf(fout, "\n");

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