Cod sursa(job #628520)

Utilizator IoanaMarMarussi Ioana IoanaMar Data 1 noiembrie 2011 17:00:10
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int b[10000],a[10000];
int n;
void write(int poz)
{
        if (poz==0)
            return;
        for (int i=0; i<poz; i++)
            if(a[i]<a[poz] && b[i]==b[poz]-1)
            {
                write(i);
                g<<a[poz]<<" ";
                return;
            }

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

        }
    for (i=1; i<=n; i++)
            {
                b[i]=1;
                for (j=1; j<i; j++)
                if (a[j]<a[i] && b[j]+1>b[i])
                    b[i]=b[j]+1;

            }
    for (i=1; i<=n; i++)
         if (b[i]>max)
         {
              max=b[i];
              poz=i;
         }

    g<<max<<"\n";
    write(poz);
    return 0;
}