Cod sursa(job #221220)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 14 noiembrie 2008 22:33:27
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<iostream>
#include<stdio.h>
FILE *f,*g;
long long l[100010],n,imax,max,a[100010],i,k;
int main()
{
 f=fopen("scmax.in","r");
 g=fopen("scmax.out","w");
 fscanf(f,"%lld",&n);
 for(i=1;i<=n;i++)
  fscanf(f,"%lld ",&a[i]);
  l[n]=1;
  for(k=n-1;k>=1;k--)
  {
   l[k]=1;i=k;
   do{i++;}while(a[k]>a[i]&&i<n);
   if(a[k]<a[i]) l[k]=l[i]+1;
  }
  max=-1;
  for(i=1;i<=n;i++)
   if(l[i]>max) {max=l[i];imax=i;}
   fprintf(g,"%lld\n%lld ",max,a[imax]);
  for(i=imax+1;i<=n;i++)
   if(a[i]>a[imax]) {imax=i;fprintf(g,"%lld ",a[i]);}
  return 0;
 }