Cod sursa(job #230138)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 13 decembrie 2008 08:55:43
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<iostream>
#include<stdio.h>
long n;
long a[100001],l[100001];
FILE *f=fopen("scmax.in","r"),*g=fopen("scmax.out","w");
int main()
{
fscanf(f,"%ld",&n);
long i;
for(i=1;i<=n;i++)
 fscanf(f,"%ld",&a[i]);
 long k,max=0,max1=0,imax;
 l[n]=1;
 for(k=n-1;k>=1;k--)
 {
  max=0;
  for(i=k+1;i<=n;i++)
   if(a[k]<a[i]&&l[i]>max)
    max=l[i];
  if(max+1>max1)
  {
   max1=max+1;
   imax=k;
  }
  l[k]=max+1;
 }
  fprintf(g,"%ld\n%ld ",max1,a[imax]);
  for(i=imax+1;i<=n;i++)
   if(a[imax]<a[i]&&l[i]==max1-1)
    fprintf(g,"%ld ",a[i]),max1--;
    return 0;
}