Cod sursa(job #2025006)

Utilizator Garen456Paun Tudor Garen456 Data 21 septembrie 2017 19:19:31
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

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

int n,a[100005],best[100005],poz[100005],maxi;

void Afis(int k)
{
  if(poz[k]!=0)
    Afis(poz[k]);

 fout<<a[k]<<" ";
}


int main()
{  int i,j;
   fin>>n;
   for(i=1;i<=n;++i)
    fin>>a[i];
   best[1]=1; poz[1]=0;

   for(i=2;i<=n;++i)
   {   best[i]=1; poz[i]=0;
       for(j=1;j<=i-1;++j)
         if( a[j]<a[i] && best[i]< best[j]+1 )
       { best[i]=best[j]+1;
           poz[i]=j;
       }

   }
 maxi=1;
   for(i=2;i<=n;++i)
    if(best[i]>best[maxi])
       maxi=i;
    fout<<best[maxi]<<"\n";
    Afis(maxi);

   return 0;
}