The Way to a Friends House Is Never Too Long (POINTS)...wrong answer why????

#include
#include <math.h>
#include

using namespace std;

int temp[100001] , temp2[100001];

void mergeSort(int x[],int y[],int low,int mid,int high){

int i,m,k,l;

l=low;
i=low;
m=mid+1;

while((l<=mid)&&(m<=high)){

     if(x[l] < x[m]){
         temp[i]=x[l];
         temp2[i]=y[l];
         l++;
     }
     else if (x[l] > x[m]){
         temp[i]=x[m];
         temp2[i]=y[m];
         m++;
     }
     else if(x[l] == x[m])
     {
     	if(y[l] >= y[m])
     	{
     		temp[i]=x[l];
         	temp2[i]=y[l];
         	l++;
		}
		else
		{
			temp[i]=x[m];
         	temp2[i]=y[m];
         	m++;
		}
	 }
     i++;
}

if(l>mid){
     for(k=m;k<=high;k++){
         temp[i]=x[k];
         temp2[i]=y[k];
         i++;
     }
}
else{
     for(k=l;k<=mid;k++){
         temp[i]=x[k];
         temp2[i]=y[k];
         i++;
     }
}

for(k=low;k<=high;k++){
     x[k]=temp[k];
    y[k]= temp2[k];
}

}

void partition(int x[],int y[],int low,int high){

int mid;

if(low<high){
     mid=(low+high)/2;
     partition(x,y,low,mid);
     partition(x,y,mid+1,high);
     mergeSort(x,y,low,mid,high);
}

}

int x[100001] , y[100001] ;
int main() {

int t , n ;

scanf("%d",&t);

while(t--)
{
	printf("\n");
	scanf("%d",&n);
	for(int i=0 ; i<n ; i++)
	{
		scanf("%d %d",&x[i],&y[i]);
	}
	
	partition(x,y,0,n-1);
	
	/*for(int i=0 ; i<n ; i++)
	{
		printf("%d %d\n",x[i],y[i]);
	}*/
	
	float dist = 0;
	
	for(int i=1 ; i<n ; i++)
	{
		dist += sqrt( pow(x[i]-x[i-1],2) + pow(y[i]-y[i-1],2) );
	}
	
	printf("%.2f\n",dist);
}

return 0;

}

Each test case is running fine … wats the problem ???