nt f (int a[] : int first : int last){
:int max a , max b , max c , temp
if(first == last)
return max (a[first] , 0);
max a = f(a,first , (first + last)/2);
max b = f(a, (first+last)/2+1 , last);
max c= ?
temp = max (max a , max b);
return max (temp , max c);
}