Cod sursa(job #3195876)

Utilizator David2007David Preda David2007 Data 21 ianuarie 2024 22:28:35
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,m,i,j;
int d[100005],v[100005],w[100005];

int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    v[1]=1;
    for(i=2;i<=n;i++)
    {
        for(j=i-1;j>0;j--)
            if(v[i]>v[j])
            {
                d[i]=d[j]+1;
                break;
            }
    }
    int max1=0;
    for(i=1;i<=n;i++)
      {
         if(d[i]>max1)
            {
                max1=d[i];
                j=i;
            }

      }
    g<<max1<<"\n";
    m=max1;
    int pos=0;
    for(i=j;i>0;i--)
        {
            if(d[i]==m)
            {
                w[++pos]=v[i];
                m--;
            }
        }
        pos--;
        for(i=pos;i>0;i--)
            g<<w[i]<<" ";

    return 0;
}