Cod sursa(job #2614240)

Utilizator DunareanuDinu Dunareanu Dunareanu Data 11 mai 2020 15:05:38
Problema Subsir crescator maximal Scor 70
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>

FILE *fin , *fout;

int v[100000];
int d[100000];

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

    int n,i,lung=0,max,j;

    fscanf(fin,"%d",&n);
    for(i=0;i<n;i++) {
        fscanf(fin,"%d",&v[i]);
    }

    d[n-1]=1;
    for(i=n-2;i>=0;i--) {
        max=0;
        for(j=i+1;j<n;j++) {
            if(v[i]<v[j] && d[j]>max) {
                max=d[j];
            }
        }
        d[i]=max+1;
        if(d[i]>lung) {
            lung=d[i];
        }
    }

    fprintf(fout,"%d\n",lung);
    i=0;
    while(lung>0) {
        if(d[i]==lung) {
            fprintf(fout,"%d ",v[i]);
            lung--;
        }
        i++;
    }

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