Cod sursa(job #2402431)

Utilizator pregainfoprega info pregainfo Data 10 aprilie 2019 18:12:47
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long long  i,N,j,a[100005],Max,l[100005],p,poz,lmax,lg;
int main()
{ f>>N;
 for(i=1;i<=N;i++) f>>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];
       }

   }
    g<<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;
         g<<a[i]<<" ";

          }

     }


    return 0;
}