분할과 정복 이용해서 연속된 배열의 최대값구하는 건데

http://jungmonster.tistory.com/126

이거랑 같은 건데

나는 배열의 시작점과 끝점도 구해야되..

우선 내가 짠 건 이거구

#include <stdio.h>
int dq(int value[],int first,int last);
int max(int left, int right);
void main()
{
 int n, i, sum;
 printf("N : ");
 scanf("%d",&n);
 int* value = new int[n];
 for(i=0;i<n;i++){
  scanf("%d",&value[i]);
 }
 
 sum = dq(value,0,n-1);

 printf("%d \n",sum);
}

int dq(int value[],int first,int last)
{
 int mid,sum = 0,left = 0, right = 0;
 int i,temp,r=0,l=0,j;
 if(first == last) return value[first];
 else {
  mid = (first + last) / 2;
  for(i=mid;i>=first;--i){
   sum = sum + value[i];
   if(left < sum) { left = sum; l = i; }
   //left = max(left, sum);
  }
  sum = 0;
  for(j=mid+1;j<=last;j++){
   sum = sum + value[j];
   if(right < sum) { right = sum; r = j; }
   //right = max(right,sum);
  }
  int single = max(dq(value,first,mid),dq(value,mid+1,last));
  printf("%d %d \n",l,r);
  return max(left+right,single);
 }
}

int max(int left, int right)
{
 if(left > right) return left;
 return right;
}
도와주세여~~ 어케 하면 시작부분과 끝부분 구할수있음?