HDU 1007代码总是出错 求大神解答 已经对x 和y分别排序了

HDU 1007代码老是出错 求大神解答 已经对x 和y分别排序了
附代码:
#include<stdio.h>
#include<math.h>
#define SIZE 100100

typedef struct cor_x_y{
    double cor_x[SIZE];
    double cor_y[SIZE];
}cor;

cor xy;

double div_meg(int i,int j){
    int mid=(int)(i+j)/2;
    double m,mm,b;
    if(j-i==1){
        return (xy.cor_x[i]-xy.cor_x[j])*(xy.cor_x[i]-xy.cor_x[j])+(xy.cor_y[i]-xy.cor_y[j])*(xy.cor_y[i]-xy.cor_y[j]);
    }
    if(j<=i){
        return -1;
    }
    m=div_meg(i,mid);
    mm=div_meg(mid+1,j);
    b=(xy.cor_x[mid]-xy.cor_x[mid+1])*(xy.cor_x[mid]-xy.cor_x[mid+1])+(xy.cor_y[mid]-xy.cor_y[mid+1])*(xy.cor_y[mid]-xy.cor_y[mid+1]);
    if(m<0&&mm>=0){
        if(mm>b)
            return b;
        else
            return mm;
    }
    if(m>=0&&mm<0){
        if(m>b)
            return b;
        else
            return m;
    }
     if(m<0&&mm<0){
            return b;
    }
    if(m>=0&&mm>=0){
        if(mm>b){
            if(b>m){
                return m;
            }else{
                return b;
            }
        }else{
             if(m>mm){
                return mm;
            }else{
                return m;
            }
        }
    }
}

void swap_xy(int i,int j){
    double s;
    s=xy.cor_x[i];
    xy.cor_x[i]=xy.cor_x[j];
    xy.cor_x[j]=s;
    s=xy.cor_y[i];
    xy.cor_y[i]=xy.cor_y[j];
    xy.cor_y[j]=s;
}

int split (double *array,int head , int tail,int order)
{
   int  middle = head + (tail  -  head) / 2;
   while (1)
   {
       if(order){
           while (array[head]  <  array[middle])
                head++;
          tail--;
           while (array[tail]  >  array[middle])
                tail--;
           if (head >= tail)
                return head;
           swap_xy (head , tail);
          head++;
       }else{
          while (array[head]  >  array[middle])
                head++;
          tail--;
           while (array[tail]  <  array[middle])
                tail--;
           if (head >= tail)
                return head;
           swap_xy (head , tail);
          head++;