Cod sursa(job #485342)

Utilizator PopaStefanPopa Stefan PopaStefan Data 18 septembrie 2010 10:04:30
Problema Subsir crescator maximal Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>
#define nmax 100001
#define infinit 2000000

using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");

int n,a[nmax],l[nmax],pre[nmax];

void citire()
{fin>>n;
for(int i=1;i<=n;i++)
  fin>>a[i];
}

void solve()
{l[n]=1;
int i,j,maxx,poz,inceput=-infinit,pozz;
for(j=n-1;j>=1;j--)
  {maxx=-infinit;
   for(i=j+1;i<=n;i++)
      if(l[i]>maxx && a[i]>a[j])
        {maxx=l[i];
         poz=i;
        }
  if(maxx!=-infinit)
       l[j]=1+maxx;
    else l[j]=1;
  pre[j]=poz;
  if(l[j]>inceput)
     {inceput=l[j];
      pozz=j;
     }
  }
fout<<l[pozz];
}

int main()
{citire();
solve();
return 0;
}