Cod sursa(job #2457678)

Utilizator AlexBosneag26Bosneag Alexandru AlexBosneag26 Data 18 septembrie 2019 15:07:20
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

ifstream in("scmax.in");
ofstream out("scmax.out");

const int N=100000;

int v[N],l[N],c[N];

int main()
{
    int n,maxim,maxi=-1,imaxi;
    in>>n;
    for(int i=1; i<=n; i++)
        in>>v[i];
    for(int i=1; i<=n; i++)
    {
        l[i]++;
        maxim=0;
        for(int j=i; j>=1; j--)
        {

            if(l[j]>maxim&&v[j]<v[i])
            {
                maxim=l[j];

            }

        }
        l[i]+=maxim;
        if(l[i]>maxi)
            maxi=l[i],imaxi=i;

    }
    int k=1;
    c[1]=v[imaxi];
    for(int i=n; i>=1; i--)
        if(l[i]==maxi-1&&v[i]<v[imaxi])
            maxi=l[i],imaxi=i,c[++k]=v[imaxi];
    for(int i=k; i>=1; i--)
        out<<c[i]<<" ";
    /*for(int i=1;i<=n;i++)
        out<<l[i]<<" ";*/

    return 0;
}