Cod sursa(job #260886)

Utilizator yonutzTalos Ionut yonutz Data 17 februarie 2009 17:56:40
Problema Subsir crescator maximal Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>  
#include<fstream>  
using namespace std;  
main ()  
{
long i, j, a[10000], l[10000], poz[10000], n;  
ifstream g("scmax.in");  
g>>n;  
for(i=1;i<=n;i++)  
g>>a[i];  
g.close();  
l[n]=1;  
poz[n]=-1;  
  for(i=n-1;i>0;i--)  
     for(l[i]=1, poz[i]=-1, j=i+1; j<=n; j++)  
   
if(a[i]<=a[j] && l[i]<1+l[j])  
   
 {   
 l[i]=1+l[j]; poz[i]=j;}  
                
                
                
ofstream fout("scmax.out");    
      
 int max=0,pozmax=1;  
 for (i=1;i<=n;i++)  
 if(max<l[i])  
 {
 max=l[i]; 
 pozmax=i;
 }  
       
 fout<<max<<endl;  
  
 for(i=pozmax;i!=-1;i=poz[i])  
 fout<<a[i]<<" ";  
 fout.close();  

}