Cod sursa(job #1281473)

Utilizator GrecuDianaSorinaGrecu Diana-Sorina GrecuDianaSorina Data 3 decembrie 2014 10:31:21
Problema Subsir crescator maximal Scor 70
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[300001],i,j,n,l[3000001],poz,p[300001];
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i];
    }
    l[n]=1;
    p[n]=-1;
    for(i=n;i>0;i--)
    {
        l[i]=1; p[i]=-1;
        for(j=i+1;j<=n;j++)
        {
            if(a[i]<a[j])
            {
                if(l[i]<l[j]+1)
                {
                    l[i]=l[j]+1;
                    p[i]=j;
                }
            }
        }
        if(l[i]>=l[poz] )  poz=i;
    }
    g<<l[poz]<<'\n';
    i=poz;
    while(i>0)
    {
        g<<a[i]<<" ";
        i=p[i];
    }
    return 0;
}