Cod sursa(job #3251078)

Utilizator Petru_77Panait Mihai-Petru Petru_77 Data 24 octombrie 2024 19:30:23
Problema Subsir crescator maximal Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[1002] , l[1002];


 int main(){
   int n; in>>n;


   for(int i = 1 ; i <= n ; i++)
   {
     in >> v[i];
   }
   l[n]=1;

   for(int i = n-1 ; i >= 1 ; i--)
   {
      int maxim=0;
      for(int j = i + 1; j <= n ; j++)
      {
        if(v[i] < v[j] && l[j] > maxim)
        maxim = l[j];
      }
      l[i] = 1 + maxim;

   }



 // maximul din l
 int max = 0;
 for(int i = 1; i <= n; i++) {
   if(l[i] > max)
      max = l[i];
 }

 out<<max<< endl;
 int i=0; v[0]= -1;
     for(int j =  1; j <= n && max ; j++) {
       if(l[j] == max && v[i] < v[j])
         { max--;
          out << v[j] << " ";
          i=j;
         }
     }
     return 0;






}