Cod sursa(job #948019)

Utilizator cristigrigoreGrigore Cristan Andrei cristigrigore Data 9 mai 2013 08:53:12
Problema Subsir crescator maximal Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int a[100000],k,i,j,m,n,nr,Max,Max1,b[100000],c[100000],z,Min;
int main()
{
   f>>n;
   for(i=1; i<=n; i++)
   f>>a[i];
   b[n]=1;
   for(i=n-1; i>=1; i--)
   {
       Max=0;
       for(j=i+1; j<=n; j++)
       if(a[j]>a[i]) if(b[j]>Max) {Max=b[j];z=j;}
       if(Max==0) b[i]=1;
        else b[i]=1+b[z];
        if(b[i]>Max1) Max1=b[i];
   }Max1++;
   g<<Max1-1<<'\n';
   while( Max1>1)
   {  k++;
      Min=999999999;
      Max1--;
   for(i=1; i<=n; i++)
    if(b[i]==Max1) if(a[i]<Min && c[k-1]<a[i]) Min=a[i];
    c[k]=Min;
}
for(i=1; i<=k; i++)
g<<c[i]<<' ';

    return 0;
}