Cod sursa(job #2063745)

Utilizator eduardandrei20Nechifor Eduard Andrei eduardandrei20 Data 11 noiembrie 2017 14:01:12
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>

using namespace std;
#define NN 100000

ifstream in("scmax.in");
ofstream out("scmax.out");

int main(){
    int v[NN],L[NN],next[NN];
     int n ;
      in >> n ;
      for ( int i = 1 ; i <= n ; ++ i )
        in >> v[i]; // am citit elementele

      L[n]=1,next[n]=-1;
         for(int i = n - 1 ; i ; -- i )
         {
             L[i]=1,next[i]=-1;

             for(int j = i + 1 ; j <= n ; ++ j )
                if(v[i]<v[j] && L[i]<=L[j])
                L[i]=L[j]+1, next[i]=j;

         }

int k=1 ;
int maxim= 0 ;
for ( int i = 2 ; i <= n ; ++ i )
    if(L[i]>L[k])k=i;

   out << L[k]<<"\n";



while( next[k]!=-1)
{
out << v[k]<<" ";
k = next [k];

}

out << v[k];


	return 0;
}//sclm