Cod sursa(job #260766)

Utilizator adelutzaMaxim Adelutza adelutza Data 17 februarie 2009 15:37:17
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=l[1],pozmax=1;
    for (i=2;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();
     }