>>864
#include<stdio.h>
#include<limits.h>

int array_check(int array[], int array_size, int current, int is_valid)
{
int a, b;

if(array_size<=0)
{
if(is_valid) return current;
else return INT_MIN;
}

a=array_check(&array[1], array_size-1, current, is_valid);
b=array_check(&array[2], array_size-2, current*array[0], 1);

return a>b?a:b;
}

int main(void)
{
int array[]={3, 1, 1,-4, 1, 5};
// int array[]={3, 1, 1,-4, 1,-5};
// int array[]={3,-1, 1,-4, 1, 5};
// int array[]={-1};

printf("%d\n", array_check(array, sizeof(array)/sizeof(array[0]), 1, 0));

return 0;
}