Cod sursa(job #2188569)

Utilizator CarmenRo33Anghel Ionela Carmen CarmenRo33 Data 27 martie 2018 11:21:09
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#define Nmax 100005
using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");
const int oo= (1<<31);
int main()
{   int N,V[Nmax],Poz[Nmax],Dis[Nmax],p=0,Max;;
    fin>>N; Max=oo;
    for(int i=1;i<=N;i++)
     {
         fin>>V[i];
         Poz[i]=-1;
         Dis[i]=1;
     }

     for(int i=N;i>=1;i--)
      {
          for(int j=i;j<=N;j++)
            if(Dis[i]<Dis[j]+1 && V[i]<V[j])
            {
                Dis[i]=Dis[j]+1;
                Poz[i]=j;
                if(Dis[i]>Max)
                {
                    Max=Dis[i];
                    p=i;
                }
            }
      }
      fout<<Max<<endl;
      int i=p;
      while(i!=-1)
      {
          fout<<V[i]<<" ";
          i=Poz[i];
      }
return 0;
}