Cod sursa(job #504333)

Utilizator raul_rautzuBedeoan Raul raul_rautzu Data 27 noiembrie 2010 15:08:39
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include<fstream>

using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int l[100],x,p[100],a[100],n;

void pd () {
  int mlu, i, j;

  l[n] = 1;
  for (i = n-1; i >= 1; i--) {
    mlu = 0;
    for (j = i+1; j <= n; j++)
      if (a[i]<a[j] and l[j] > mlu)
        {
         mlu = l[j];
         p[i]=j;
         x=i;
           }
    l[i] = mlu+1;
  }
}
  void refac(int x)
  {
        fo<<a[x]<<" ";
      while(p[x]!=0)
      {
       x=p[x];
       fo<<a[x]<<" ";
      }
     }
int main()
{
    int i;
fi>>n;
for(i=1;i<=n;i++)
fi>>a[i];
pd();
int max=0;
for(i=1;i<=n;i++)
if(max<l[i])
max=l[i];
fo<<max<<"\n";
refac(x);


}