Cod sursa(job #208648)
Utilizator | Data | 17 septembrie 2008 18:19:19 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
# include <stdio.h>
int n,max;
int a[5005],lung[5005],ant;
void solve ()
{
int i,j,k;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
scanf ("%d",&a[i]);
for (i=1; i<=n; ++i)
{
max=0;
for (j=1; j<i; ++j)
if (lung[j]>=max && a[i]>a[j])
{
max=lung[j];
k=j;
}
lung[i]=lung[k]+1;
}
for (j=1; j<=n; ++j)
if (lung[j]>max)
max=lung[j];
printf ("%d",max);
}
int main ()
{
freopen ("scmax.in","r",stdin);
freopen ("scmax.out","w",stdout);
solve ();
return 0;
}