Cod sursa(job #2092206)

Utilizator eduardandrei20Nechifor Eduard Andrei eduardandrei20 Data 21 decembrie 2017 12:24:13
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>
#define NN 100000
using namespace std;

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

int v[NN] , n ,next[NN],best[NN];
 void read()
 {
     in >> n ;
     for ( int i =1 ; i <= n ; ++i )
             in>> v[i];
 }

int main()
{  read();
            next[n] = -1 ;
              best[n] = 1 ;
                 for ( int i = n-1 ; i ; --i )
                 {
                        next[i] = -1 , best[i] = 1 ;
                           for ( int j = i + 1  ; j <= n ;++ j )
                           {
                               if (v[j]>v[i] && best[j] >= best[i])
                                   best[i]=best[j] +1 , next [i] = j ;
                           }
                 }
                  int k=1 ;
int maxim= 0 ;
for ( int i = 2 ; i <= n ; ++ i )
    if(best[i]>best[k])k=i;

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



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

}

out << v[k];


    return 0;
}//sclm