Cod sursa(job #261028)

Utilizator alexysPop Carla alexys Data 17 februarie 2009 20:27:08
Problema Subsir crescator maximal Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 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");    
         
      //calc maxim din sirul l          
       int max=0,pozmax=1;  
       for (i=1;i<=n;i++)  
      if(max<l[i])  
       {max=l[i]; pozmax=i;}  
         
       
     fout<<max<<endl;  
          
       //incpeme sa sarim   
       for(i=pozmax;i!=-1;i=poz[i])  
        fout<<a[i]<<" ";  
        fout.close();  
      }