Cod sursa(job #2138900)

Utilizator marcogoldPop Mihali Marco Silviu marcogold Data 21 februarie 2018 22:48:52
Problema Subsir crescator maximal Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n,a[100010],dp[100010],lungime,inceput;

int main()
{

    fi>>n;

    for(int i=1;i<=n;i++)
        fi>>a[i];


    dp[1]=1;

      for(int i=2;i<=n;i++)
      {
          for(int j=1;j<i;j++)
            if(a[j]<a[i])
          {
              dp[i]=max(dp[i],dp[j]+1);
          }
      }

       for(int i=1;i<=n;i++)
       {
           if(dp[i]>lungime)
           {
               lungime=dp[i];
               inceput=1;
           }
       }


       fo<<lungime<<endl;

        for(int i=inceput;i<=inceput+lungime;i++)
        {
            fo<<a[i]<<" ";
        }


    fi.close();
    fo.close();
    return 0;
}