Cod sursa(job #2507307)

Utilizator Florinos123Gaina Florin Florinos123 Data 9 decembrie 2019 22:32:16
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.14 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, i, j, v[100001], lungimi[100001], pozitii, maxim;
int val, poz, raspunsuri[100001], k;

int main()
{
     f >> n;
      for (i=1; i<=n; i++) {
           f >> v[i];
           lungimi[i] = 1;
      }

       for (j=2; j<=n; j++)
       {
           for (i=1; i<j; i++)
           {
               if (v[i] < v[j])
               {
                   val = lungimi[i] + 1;
                   if (val > lungimi[j])
                   {
                       lungimi[j] = val;
                       if (val > maxim)
                       {
                           maxim = val;
                           poz = j;
                       }
                   }
               }

           }
       }
      g << maxim << '\n';
      for (i=poz; i>=1; i--)
      {
          if (lungimi[i] == maxim)
          {
              k ++;
              raspunsuri[k] = v[i];
              maxim --;
          }
      }
      for (i=k; i>=1; i--)
          g << raspunsuri[i] << " ";
    return 0;
}