Cod sursa(job #2990465)

Utilizator danyyyDaniel danyyy Data 7 martie 2023 22:18:12
Problema Subsir crescator maximal Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int v[100001][2];
void afis(int i,int pas,int v[100001][2])
{
    if(pas==0)return;
    else
    {
        int j;
        for(j=i-1; j>=1; j--)
        {
            if(pas-1==v[j][1])
            {
                afis(j,pas-1,v);
                break;
            }
        }

        fout<<v[i][0]<< ' ';
    }
}
int main()
{
    int j,i,n,l,smax=0;
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>v[i][0];
        v[i][1]=1;
        for(j=i-1; j>=1; j--)
        {
            if(v[i][0]>v[j][0] && v[i][1]<=v[j][1])
            {
                v[i][1]=v[j][1]+1;
                if(smax<v[i][1])smax=v[i][1];
            }
        }
    }
    fout<<smax<<'\n';
    for(i=n; i>=1; i--)
        if(smax==v[i][1])afis(i,smax,v);

}