Cod sursa(job #3220249)

Utilizator tudoor_balasescuBalasescu Tudor tudoor_balasescu Data 2 aprilie 2024 22:07:04
Problema Subsir crescator maximal Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,j,v[1001],d[1001],poz[1001],cmax,lm,st;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
        d[n]=1;
        poz[n]=0;
        for(i=n-1;i>=1;i--)
        {
            cmax=0;
            for(j=i+1;j<=n;j++)
            {
                if(v[i]<v[j])
                {
                    if(cmax<=d[j])
                        cmax=d[j],poz[i]=j;
                }
                d[i]=cmax+1;
                if(d[i]>lm)
                    lm=d[i],st=i;
            }

        }
        fout<<lm<<'\n';
        i=st;
        while(poz[i])
        {
            fout<<v[i]<<' ';
            i=poz[i];
        }
        fout<<v[i];
    return 0;
}