Cod sursa(job #2978043)

Utilizator DesqucuDesq Stef Desqucu Data 12 februarie 2023 20:31:19
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int n,i,j,d[100010],v[100010],last[100010],maxi=-99,poz;
void rez(int i)
{
    if(last[i]==0)
        {out<<v[i]<<" ";
            return ;}
    else
    {
        rez(last[i]);
        out<<v[i]<<" ";
    }
}
int main()
{
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>v[i];
    }
    for(i=1;i<=n;i++)
    {
        for(j=i;j>=1;j--)
           if(v[i]>v[j]&&d[j]>d[i])
           {d[i]=d[j];
           last[i]=j;}
            d[i]++;
            if(d[i]>maxi)
            {
                poz=i;
                maxi=d[i];
            }
    }
    out<<maxi<<'\n';
   rez(poz);
    return 0;
}