Nu aveti permisiuni pentru a descarca fisierul grader_test3.ok
Cod sursa(job #175064)
Utilizator | Data | 9 aprilie 2008 15:54:32 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.79 kb |
#include <fstream.h>
#define Nmax 100002
ifstream f("scmax.in");
ofstream g("scmax.out");
long n,sir[Nmax];
void citire()
{
long i;
f>>n;
for (i=1;i<=n;i++)
f>>sir[i];
f.close();
}
long maxim[Nmax];
void p_din()
{
long i,j,max;
maxim[n]=1;
for (i=n-1;i>=1;i--)
if (sir[i]<sir[i+1])
maxim[i]=maxim[i+1]+1;
else
{
max=0;
for (j=i+1;j<=n;j++)
if (sir[i]<sir[j] && maxim[j]>max)
max=maxim[j];
maxim[i]=max+1;
}
}
void max_sir()
{
long max;
max=0;
for (long i=1;i<=n;i++)
if (maxim[i]>max)
max=maxim[i];
g<<max;
}
int main()
{
citire();
p_din();
max_sir();
return 0;
}