קוד:
#include <stdio.h>
#include <stdlib.h>
#define MIN(x,y) ((x) <= (y) ? (x) : (y))
#define MAX(x,y) ((x) >= (y) ? (x) : (y))
#define LEN 9
int func(int* arr,int len,int idx,int currMaxLen,int lastNum);
int main ()
{
int arr[LEN]={45,1,21,3,33,6,53,9,18};
printf("%d\n",func(arr,LEN,0,0,-1));
return 0;
}
int func(int* arr,int len,int idx,int currMaxLen,int lastNum)
{
if (idx==len)
return currMaxLen;
int res1=0;
if (arr[idx]>lastNum)
res1=func(arr,len,idx+1,currMaxLen+1,arr[idx]);
int res2=func(arr,len,idx+1,currMaxLen,lastNum);
return MAX(res1,res2);
}