Cod sursa(job #856418)

Utilizator bia.liliPoenar Liana bia.lili Data 16 ianuarie 2013 14:53:36
Problema Subsir crescator maximal Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int p, n, i,j, maxim, l[100005], poz[100005];
long long a[100005];
int main()
 {
 cin>>n;
 maxim=1;
    poz[n]=-1;
       l[n]=1; p=n;
       for(i=1;i<=n;i++)
        cin>>a[i];
for(i=n;i>=1;i--)
     { poz[i]=-1;
     l[i]=1;
     for(j=n-1;j>i;j--)
     if(a[i]<a[j] && l[i]<l[j]+1)
     { l[i]=l[j]+1;
     poz[i]=j;
     if(l[i]>maxim)
     maxim=l[i], p=i; }}
       cout<<maxim<<"\n";
          i=p;
          while(i!=-1)
    {  cout<<a[i]<<" ";
        i=poz[i];}
    cout<<"\n";
    return 0; }