Cod sursa(job #891566)

Utilizator narcis_c2007Ciobotariu Narcis Paul Dumitru narcis_c2007 Data 25 februarie 2013 17:51:59
Problema Subsir crescator maximal Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include<fstream>
using namespace std;
int v[100001],b[100001],a[100001],p;
int main()
{
    int n,i,j,max;
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    b[1]=1;

    for(i=n;i>=1;i--)
    {max=0;a[i]=-1;
        for(j=i+1;j<=n;j++)
        {
            if(v[i]<v[j]&&max<b[j])
            { a[i]=j;p=i;
                max=b[j];

            }

            }

            b[i]=max+1;

            // if(v[i]==1)
      //  b[i]=1;
    }
    max=0;
    for(i=1;i<=n;i++)
                if(b[i]>max)
                    max=b[i];
                g<<max<<endl;
                i=p;
    while(i!=-1)
    {

        g<<v[i]<<" ";
        i=a[i];
    }
    return 0;
}