Cod sursa(job #1980260)

Utilizator UnseenMarksmanDavid Catalin UnseenMarksman Data 12 mai 2017 18:19:03
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int main()
{int n,v[100002],lung[100002],next[100002],i,lmax=1,j,l,ic;
fin>>n;
for(i=1; i<=n; i++)
{
    fin>>v[i];
}
lung[0]=0;
lung[1]=v[n];
l=1;
for(i=n-1; i>=1; i--)
{
    next[i]=0;
    j=1;
    while(j<=l&&v[i]<lung[j])
    {
        j++;
    }
    if(j>l)
    {

        lung[++l]=v[i];
        next[i]=lung[l-1];
    }
    else
    {
        lung[j]=v[i];
        next[i]=lung[j-1];
    }
}
/*cout<<l<<'\n'<<lung[l]<<' ';
i=l-1;
do
{
    cout<<v[i]<<' ';
    i=next[i];
}while(v[i]);
/*for(i=1; i<=n; i++)
{
    cout<<next[i]<<' ';
}*/
fout<<l<<'\n';
for(i=l; i>0; i--)
{
    fout<<lung[i]<<' ';
}


    return 0;
}