Cod sursa(job #1375814)

Utilizator Marius7122FMI Ciltea Marian Marius7122 Data 5 martie 2015 14:34:49
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<stdio.h>
#define max 100002
long a[max],poz[max],l[max],i,j,n,prim,m;
int main()
{
    FILE*f1,*f2;
    f1=fopen("scmax.in","r");
    f2=fopen("scmax.out","w");
    fscanf(f1,"%ld",&n);
    for(i=0;i<n;i++)
        fscanf(f1,"%ld",&a[i]);
    for(i=n-1;i>-1;i--)
    {
        l[i]=1;poz[i]=0;
        for(j=i+1;j<n;j++)
            if(a[i]<a[j]&&l[i]<=l[j])
                poz[i]=j,l[i]=1+l[j];
        if(m<l[i])
            m=l[i],prim=i;
    }
    fprintf(f2,"%ld\n",m);
    for(i=prim;i;i=poz[i])
        fprintf(f2,"%ld ",a[i]);
    return 0;
}