Pagini recente » Cod sursa (job #2490223) | Cod sursa (job #479720) | Cod sursa (job #1384012) | Cod sursa (job #108671) | Cod sursa (job #1111081)
#include <cstdio>
using namespace std;
int lis[100001]; int v[100001];
int n,i,j,k,max,z;
int lungime(int a)
{
int i,max;
if(a!=0)
{
if(v[a]>v[a+1]) {lis[a]=1;return lungime(a-1);}
else if(v[a]<v[a+1])
{
max=0;
for(i=a+1;i<=n;i++) if(lis[i]>max&&v[i]>v[a]) max=lis[i];
lis[a]=1+max;
return lungime(a-1);
}
else return lungime(a-1);
}
else return 0;
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
scanf("%d",&n);
lis[n]=1;
for(i=1;i<=n;i++) scanf("%d",&v[i]);
lungime(n-1);
max=0;
for(i=1;i<=n;i++) if(lis[i]>max) max=lis[i];
printf("%d",max);
}