Cod sursa(job #1097976)

Utilizator remus88Neatu Remus Mihai remus88 Data 4 februarie 2014 12:00:11
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

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

int n,nr,v[100099],l[100099],maxx,poz;

int main()
{
    f>>n;
    for (int i=1; i<=n; ++i) f>>v[i], l[i]=1;
    l[n]=1;
    maxx=0; v[0]=2000000999;
    for (int i=n-1; i>0; --i)
        for (int j=i+1; j<=n; ++j)
           if (v[i]<v[j] && l[i]<l[j]+1)
              {
                  l[i]=l[j]+1;
                  if (l[i]>maxx)
                     {
                         maxx=l[i];
                         poz=i;
                     }
              }
    g<<maxx<<'\n'; g<<v[poz]<<' ';
    for (int i=poz+1; i<=n; ++i)
      if (l[poz]==l[i]+1)
         {
             g<<v[i]<<' ';
             poz=i;
         }
    g<<'\n';
    g.close(); f.close();
    return 0;
}