Cod sursa(job #275357)

Utilizator yonutzTalos Ionut yonutz Data 10 martie 2009 13:30:35
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#\
i\
n\
c\
l\
u\
d\
e\
<\
i\
o\
s\
t\
r\
e\
a\
m\
>    
#\
i\
n\
c\
l\
u\
d\
e\
<\
f\
s\
t\
r\
e\
a\
m\
>    

u\
s\
i\
n\
g
n\
a\
m\
e\
s\
p\
a\
c\
e
s\
t\
d
;    

l\
o\
n\
g
a[100000],
n,
l[100000],
poz[100000],
i,
j,
pozmax;    

i\
n\
t
m\
a\
i\
n\
()    
 {  
     int max;    
 ifstream f("scmax.in");    
 f>>n;    
    
 for(i=1;i<=n;i++)    
 f>>a[i];    
 f.close();     
  
 max=-1;
 pozmax=1;     
 l[n]=1;   
 poz[n]=-1;    
    
 for(i=n-1;i>=1;i--)    
   {   
  l[i]=1;poz[i]=-1;    
  for(j=i+1;j<=n;j++)    
   if(a[i]<a[j]&&l[i]<1+l[j])    
   {
   l[i]=1+l[j]; 
   poz[i]=j;    
   if(l[i]>max)    
   { 
      max=l[i];   
      pozmax=i;}    
    }    
    }    
 ofstream g("scmax.out");    
 g<<max<<endl;    
  for(i=pozmax;i!=-1;i=poz[i])    
   g<<a[i]<<" ";    
  g.close();    
 return 0;    
  
    
}