Cod sursa(job #221336)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 15 noiembrie 2008 20:58:46
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
 #include<iostream>  
 #include<stdio.h>  
   FILE *f,*g;  
  long l[100001],n,imax,max,a[100001],i,k;  
  int main()  
   {  
   f=fopen("scmax.in","r");  
    g=fopen("scmax.out","w");  
    fscanf(f,"%ld",&n);  
   for(i=1;i<=n;i++)  
    fscanf(f,"%ld ",&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,"%ld\n%ld ",max,a[imax]);  
   for(i=imax+1;i<=n;i++)  
    if(a[i]>a[imax]) {imax=i;fprintf(g,"%ld ",a[i]);}  
   return 0;  
 }