לא הפיתרון הכי אלגנטי, אבל עובד...
קוד:
int max_goingup(int arr[], int index, int len, int lastValue) {
int y=-1,z=-1,x=-1;
if (!len) {
return 0;
}
if (lastValue<arr[index]) {
z=max_goingup(arr,index+1,len-1,arr[index])+1;
}
x=max_goingup(arr,index+1,len-1,lastValue);
if (index==0) {
lastValue=arr[index+1];
y=max_goingup(++arr,index,len-1,lastValue);
}
return max(x,y,z); //defined elsewhere...
}