Cod sursa(job #2402062)

Utilizator alexioana_2006Apostolache Alexia alexioana_2006 Data 10 aprilie 2019 12:18:40
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int i,N,j,a[100005],Max,l[100005],p,poz,lmax,lg;
int main()
{ fin>>N;
 for(i=1;i<=N;i++) fin>>a[i];
 l[N]=1;
   for(i=N-1;i>=1;i--)
   {
       Max=0;
       for(j=i+1;j<=N;j++)
        if(l[j]>Max && a[i]<a[j])
               Max=l[j];
       l[i]=Max+1;
       if(l[i]>lmax)
       {poz=i;
         lmax=l[i];
       }

   }
    fout<<lmax<<'\n';
     p=poz;
     lg=l[poz];
     for(i=poz;i<=N;i++)
     { if((l[i]==lg-1 && a[i]>a[p]) || i==poz)
         { lg=l[i];
         p=poz;
         fout<<a[i]<<" ";

          }

     }


    return 0;
}