Cod sursa(job #920117)

Utilizator Walrus21andrei Walrus21 Data 20 martie 2013 04:25:13
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#define NMAX 100000

using namespace std;

FILE *f=fopen("scmax.in","r");
FILE *g=fopen("scmax.out","w");

int i,N,a[NMAX],l[NMAX];

int main()
{
    fscanf(f,"%d",&N);
    for(i=1;i<=N;i++)
     fscanf(f,"%d",&a[i]);
    l[N]=1; int m,Lmax(1);
    for(i=N-1;i>=1;i--)
    {
        m=0;
        for(int j=i+1;j<=N;j++)
         if(a[i]<a[j]&&l[j]>m)
          m=l[j];
        l[i]=m+1;
        if(l[i]>Lmax) Lmax=l[i];
    }
    fprintf(g,"%d\n",Lmax);
    i=1;
    while(Lmax)
    {
        while(l[i]!=Lmax)
         i++;
        fprintf(g,"%d ",a[i]);
        Lmax--;
    }
    return 0;
}