Cod sursa(job #2792063)

Utilizator raileanu-alin-gabrielRaileanu Alin-Gabriel raileanu-alin-gabriel Data 31 octombrie 2021 19:51:18
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");

struct {
  int el;
  int lg;
  int ina;
} v[100005];

int i, n, maxim, vec[100005], x, mpz, j;

int main()
{
  fin>>n;
  for(i=1; i<=n; i++)
  {
    fin>>v[i].el;
    for(j=1; j<i; j++)
    {
      if(v[j].el<v[i].el && v[j].lg>v[i].lg)
      {
        v[i].lg=v[j].lg;
        v[i].ina=j;
      }
    }
    v[i].lg++;
    if(v[i].lg>maxim)
    {
      maxim=v[i].lg;
      mpz=i;
    }
  }
  i=mpz;
  while(i>0)
  {
    x++;
    vec[x]=i;
    i=v[i].ina;
  }
  fout<<maxim<<'\n';
  for(i=x; i>=1; i--) fout<<v[vec[i]].el<<' ';
}