Cod sursa(job #261038)

Utilizator iulliaiulia pop iullia Data 17 februarie 2009 20:30:49
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<iostream>  
#include<fstream>  
using namespace std;  

int a[100000], n, l[100000], poz[100000],i, j,pozmax;  

int main()  
 { 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;  
 }