Cod sursa(job #2870096)

Utilizator RTG123Razvan Diaconescu RTG123 Data 12 martie 2022 08:54:42
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
#define MAXN 100001
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,v[MAXN],dp[MAXN],afis[MAXN],maxl;
int main()
{
    f>>n;
    for (int i=1; i<=n; i++)
    {
        f>>v[i];
    }
    dp[1]=1;
    /*for (int i=1; i<=n; i++)
    {
        sumpart[i]=sumpart[i-1]+v[i];
        */
    for (int i=2; i<=n; i++)
    {
        int max1=0;
        for (int j=i-1; j>=1; j--)
        {
            if (v[i]>v[j])
            max1=max(max1,dp[j]);
        }
        dp[i]=max1+1;
        maxl=max(maxl,dp[i]);
    }
    g<<maxl<<'\n';
    int l=maxl;
    for (int i=n; i>=1; i--)
    {
        if (dp[i]==l)
        {
            afis[l]=v[i];
            l--;
        }
    }
    for (int i=1; i<=maxl; i++)
        g<<afis[i]<<' ';
    return 0;
}