Cod sursa(job #863836)

Utilizator geumb98Umbrarescu George geumb98 Data 24 ianuarie 2013 10:10:23
Problema Subsir crescator maximal Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100001],i,n,j,k,lmax,maxi,l[100001];
int main()
{ f>>n;
  for(i=1;i<=n;++i) f>>v[i];
  l[n]=1;
  for(k=n-1;k>0;--k) { lmax=0;
                       for(i=k+1;i<=n;++i) if(v[i]>=v[k]&&l[i]>lmax) lmax=l[i];  
                       l[k]=lmax+1;
					   if(l[k]>maxi) { maxi=l[k];
					                   j=k;
					                  }
                      }
  g<<maxi<<'\n';
  g<<v[j]<<" ";
  for(i=j+1;i<=n;++i) if(v[i]>=v[j]&&l[i]==maxi-1) { g<<v[i]<<" ";
                                                     --maxi;
                                                    }
  return 0;
}