#include #include #include #include #define MAXN 25000 int n; typedef struct { int x, y; } coord; coord a[MAXN]; void generate1(void) { int i; n = MAXN; for (i = 0; i < n; i++) { a[i].x = ((int) rand()%20000) - 10000; a[i].y = ((int) rand()%20000) - 10000; } } double dist(coord a, coord b) { return sqrt(fabs((a.x - b.x) * (a.x - b.x)) + fabs((a.y - b.y) * (a.y - b.y))); } double DoWork(coord a[], int n) { double mdist = 0.0; int i, j; for (i = 0; i < n; i++) for (j = 0; j < n; j++) if (dist(a[i], a[j]) > mdist) { mdist = dist(a[i], a[j]); } return mdist; } int main(void) { generate1(); unsigned clk0 = clock(); printf("%.4lf\n", DoWork(a, n)); printf("Time elapsed: %d milliseconds\n", (clock() - clk0) / 1000); return 0; }