Cod sursa(job #2133721)

Utilizator Vaida_Radu_AndreiVaida Radu Andrei Vaida_Radu_Andrei Data 17 februarie 2018 11:10:45
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream fin("scmax.in");
    ofstream fout("scmax.out");
    long int n,v[100000],l[100000]={0},i,p,m=1,sol;
    fin>>n;
    for(i=0;i<n;i++)
    {
        fin>>v[i];
    }
    l[n-1]=1;
    for(p=n-2;p>=0;p--)
    {
        for(i=p+1;i<n;i++)
            if(v[p]<v[i]&&l[p]<l[i]-1)
                l[p]=l[i]-1;
        if(!l[p])
            l[p]=1;
        else
            if(l[p]>m)
            {
                m=l[p];
                sol=p;
            }
    }
    fout<<m<<'\n';
    for(i=sol;m>0;i++)
        if(l[i]==m)
        {
            fout<<v[i]<<" ";
            m--;
        }
    return 0;
}