hdoj 1007 两点之间最短距离的二分之一 提交之后超时了 求c语言解法 感激不敬

#include"stdio.h"
#include"math.h"
int main()
{

int n,i,j;
double s;
while(scanf("%d",&n)&&n)
{
    double a[100000][5]={0};
    for(i=0;i<n;i++)
        for(j=0;j<2;j++)
            scanf("%lf",&a[i][j]);
    double min=sqrt((a[1][0]-a[0][0])*(a[1][0]-a[0][0])+(a[1][1]-a[0][1])*(a[1][1]-a[0][1]));
    for(i=0;i<n-1;i++)
        for(j=i+1;j<n;j++)
        {
            if(j!=i)
            {
            s=sqrt((a[j][0]-a[i][0])*(a[j][0]-a[i][0])+(a[j][1]-a[i][1])*(a[j][1]-a[i][1]));
            if(s<min)
                min=s;
            }
        }
        printf("%0.2f\n",min/2);
}
        return 0;

}