Problem Statement
You start at the coordinates (px, py) and your goal is to reach one of the four edges of the map. You are represented as one point in the plane (infinitely small) and you can move at the speed of one unit of space per one unit of time in any direction of the unit circle.
There are also n points on the map that expand at that same speed (one unit of space per one unit of time) in all directions. That is, after t units of time, there will be n circles, each with a radius of t. The coordinates of these n points are given in the int[]s x and y, where (x[i], y[i]) are the coordinates of the i-th point.
Your task is to determine the minimum amount of time required to reach an edge without stepping inside any of the circles (you can step on the boundary). Output -1 if there is no way to escape.
Definition
- Class:
- CirclesOfDestruction
- Method:
- exitTime
- Parameters:
- int, int, int, int, int[], int[]
- Returns:
- double
- Method signature:
- double exitTime(int xSize, int ySize, int px, int py, int[] x, int[] y)
- (be sure your method is public)
Notes
- Circles expand independently from each other. They can overlap without causing any interference.
- Your return value must have an absolute or relative error less than 1e-9.
Constraints
- xSize will be between 1 and 1000, inclusive.
- ySize will be between 1 and 1000, inclusive.
- px will be between 0 and xSize, inclusive.
- py will be between 0 and ySize, inclusive.
- x will have between 1 and 50 elements, inclusive.
- Each element of x will be between 0 and xSize, inclusive.
- x and y will have the same number of elements.
- Each element of y will be between 0 and ySize, inclusive.
- Every circle has its own different starting point, which is also different from your own starting point.
- If one can escape at point A at boundary, then there exists an interval of length at least 1e-6, which contains A and escape is possible at any point of this interval.
Examples
10
10
5
5
{1, 5, 5}
{5, 1, 9}
Returns: 5.0
The best escape route is a straight line from (5, 5) to (10, 5).
101
10
5
5
{1, 5, 5, 9}
{5, 1, 9, 5}
Returns: -1.0
You cannot reach an edge without stepping inside any of the circles.
4
3
0
2
{0, 0, 1, 1, 1}
{1, 3, 1, 2, 3}
Returns: 0.0
You are already on the edge of the map.
5
6
4
2
{0, 4, 5}
{6, 0, 2}
Returns: 4.0
You can go straight to the point (0, 2). Note that at the moment of your escape, you'll be on the boundary of the circle that started from (0, 6).
100
100
50
50
{10, 30, 70, 90, 10, 30, 70, 90}
{90, 70, 30, 10, 10, 30, 70, 90}
Returns: -1.0
1000
1000
800
800
{1000, 800, 600}
{800, 1000, 750}
Returns: 805.4744331758768
6
7
2
4
{0, 1, 6, 4}
{3, 7, 1, 0}
Returns: 4.166666666666667
916
792
663
283
{833, 17, 390, 711}
{205, 431, 546, 610}
Returns: 284.28060264123246
916 792 663 283 {833, 17, 390, 711} {205, 431, 546, 610}
94
47
50
16
{31, 65, 58}
{9, 30, 6}
Returns: 34.39491241448363
94 47 50 16 {31, 65, 58} {9, 30, 6}
94
47
50
16
{30, 65, 60}
{10, 30, 5}
Returns: 34.39491241448363
8
8
5
3
{0, 4, 8, 8}
{4, 2, 5, 0}
Returns: 5.134307266916454
50
47
25
15
{32, 14}
{6, 39}
Returns: 18.027756377319946
50 47 25 15 {32, 14} {6, 39}
67
100
30
48
{30, 8, 58, 66}
{98, 60, 3, 59}
Returns: 41.6096276252397
67 100 30 48
412
551
155
273
{262, 109}
{280, 369}
Returns: 155.74839485529216
152
559
85
147
{33, 69, 44}
{295, 82, 337}
Returns: 67.0
425
29
185
7
{146, 134, 385, 29}
{17, 24, 23, 5}
Returns: 7.0
846
811
507
761
{825, 569, 126, 169, 598}
{306, 720, 270, 274, 48}
Returns: 50.0
972
529
714
475
{584, 900, 610, 550, 744, 143}
{107, 289, 391, 90, 481, 390}
Returns: 54.0
86
114
30
8
{47, 72, 32, 54, 86, 85, 26}
{74, 5, 105, 18, 78, 101, 21}
Returns: 8.0
628
478
213
418
{173, 104, 521, 378, 307, 437, 262, 192}
{407, 54, 452, 125, 145, 404, 174, 185}
Returns: 60.0
125
774
45
189
{120, 12, 88, 87, 0, 56, 123, 10, 91}
{543, 318, 489, 632, 312, 658, 496, 550, 203}
Returns: 45.0
478
681
215
391
{113, 248, 248, 364, 315, 197, 71, 363, 295, 75}
{311, 6, 91, 342, 215, 357, 591, 373, 322, 453}
Returns: -1.0
25
156
12
92
{0, 7, 12, 5, 1, 9, 3, 8, 18, 9, 11}
{64, 121, 39, 28, 95, 146, 25, 99, 21, 141, 115}
Returns: 13.0
323
701
9
420
{53, 156, 227, 249, 36, 150, 151, 144, 308, 190, 134, 110}
{501, 659, 25, 638, 598, 118, 397, 491, 64, 472, 416, 185}
Returns: 9.0
479
989
319
931
{319, 299, 393, 359, 101, 303, 233, 294, 374, 356, 112, 38, 30}
{427, 106, 884, 139, 743, 777, 665, 571, 147, 829, 70, 856, 712}
Returns: 58.0
616
421
303
420
{408, 477, 267, 220, 160, 315, 371, 71, 602, 445, 355, 432, 579, 456}
{137, 104, 62, 51, 341, 69, 117, 253, 79, 40, 263, 57, 374, 206}
Returns: 1.0
643
138
45
109
{128, 338, 327, 345, 414, 68, 426, 354, 4, 204, 343, 105, 518, 134, 28}
{131, 34, 4, 55, 138, 36, 75, 97, 91, 10, 118, 30, 133, 116, 5}
Returns: 29.0
968
323
397
64
{313, 542, 67, 230, 73, 479, 373, 313, 870, 590, 751, 501, 146, 340, 802, 383}
{229, 137, 310, 236, 227, 182, 143, 187, 48, 173, 220, 260, 88, 289, 169, 255}
Returns: 64.0
35
846
9
371
{2, 0, 31, 22, 8, 12, 8, 0, 4, 6, 25, 29, 6, 35, 1, 4, 30}
{404, 386, 828, 778, 403, 55, 524, 195, 307, 304, 60, 625, 679, 578, 486, 837, 814}
Returns: 9.0
835
265
561
262
{424, 253, 830, 771, 374, 32, 126, 707, 62, 476, 300, 19, 157, 602, 400, 680, 575, 22}
{121, 55, 166, 221, 118, 239, 105, 159, 185, 175, 168, 187, 79, 20, 136, 187, 212, 59}
Returns: 3.0
733
973
301
584
{382, 456, 450, 304, 430, 614, 414, 418, 78, 356, 4, 29, 687, 396, 554, 148, 18, 632, 286}
{80, 546, 226, 233, 5, 548, 407, 647, 494, 104, 505, 856, 546, 905, 298, 917, 159, 280, 207}
Returns: -1.0
601
338
52
119
{482, 375, 478, 123, 227, 499, 30, 586, 312, 59, 405, 568, 100, 320, 427, 187, 581, 36, 195, 75}
{125, 115, 5, 38, 262, 202, 41, 1, 270, 141, 188, 40, 280, 228, 304, 100, 224, 127, 191, 48}
Returns: -1.0
599
557
170
318
{126, 97, 261, 12, 507, 592, 85, 278, 567, 207, 530, 2, 208, 258, 262, 57, 313, 429, 142, 363, 269}
{276, 224, 548, 229, 25, 404, 145, 214, 316, 219, 467, 522, 512, 227, 159, 305, 484, 265, 437, 434, 417}
Returns: -1.0
431
311
0
309
{316, 202, 287, 258, 210, 135, 212, 89, 151, 201, 425, 62, 245, 355, 97, 221, 232, 50, 4, 48, 286, 394}
{194, 180, 107, 186, 240, 97, 297, 198, 115, 110, 237, 305, 290, 206, 301, 181, 208, 163, 109, 41, 126, 45}
Returns: 0.0
228
911
216
477
{38, 55, 153, 158, 184, 23, 98, 190, 10, 34, 58, 134, 197, 227, 1, 114, 16, 115, 88, 161, 137, 142, 96}
{358, 123, 25, 612, 781, 824, 35, 616, 624, 296, 661, 401, 484, 428, 622, 68, 848, 72, 23, 93, 237, 282, 325}
Returns: 12.0
980
164
579
103
{577, 7, 970, 208, 25, 341, 127, 953, 430, 304, 91, 960, 272, 790, 111, 487, 672, 943, 377, 497, 914, 887, 300, 963}
{46, 140, 3, 40, 52, 142, 74, 53, 117, 61, 46, 89, 157, 84, 25, 86, 159, 33, 78, 20, 44, 27, 161, 129}
Returns: 61.0
448
251
108
6
{238, 328, 380, 101, 38, 406, 45, 178, 408, 342, 83, 90, 259, 264, 362, 259, 256, 403, 11, 148, 224, 261, 238, 257, 385}
{24, 71, 53, 101, 250, 124, 114, 242, 107, 197, 79, 19, 81, 62, 47, 125, 82, 199, 80, 214, 2, 157, 64, 11, 131}
Returns: 6.0
421
230
305
90
{146, 182, 214, 15, 383, 63, 71, 175, 291, 76, 310, 112, 176, 119, 379, 150, 396, 386, 8, 401, 107, 221, 394, 252, 100, 41}
{9, 114, 89, 115, 161, 219, 121, 154, 51, 129, 118, 172, 49, 173, 74, 168, 28, 2, 47, 123, 171, 68, 149, 155, 194, 160}
Returns: -1.0
67
469
66
269
{58, 33, 26, 14, 11, 28, 22, 14, 61, 5, 17, 7, 16, 50, 51, 58, 28, 46, 30, 29, 62, 46, 53, 27, 50, 11, 21}
{81, 201, 316, 313, 103, 291, 40, 174, 319, 373, 361, 149, 324, 373, 169, 154, 280, 201, 466, 321, 454, 76, 466, 420, 14, 324, 168}
Returns: 1.0
293
123
165
98
{206, 243, 171, 274, 158, 170, 140, 185, 95, 198, 57, 218, 269, 149, 77, 39, 48, 206, 177, 198, 137, 286, 110, 285, 181, 17, 256, 207}
{118, 53, 104, 53, 27, 0, 59, 2, 67, 106, 16, 3, 100, 122, 43, 55, 61, 10, 123, 48, 26, 91, 41, 70, 60, 25, 43, 64}
Returns: -1.0
844
670
496
463
{359, 34, 477, 116, 48, 627, 149, 402, 274, 53, 729, 775, 321, 789, 675, 331, 276, 830, 782, 473, 683, 698, 300, 215, 714, 649, 650, 123, 28}
{325, 335, 343, 447, 315, 181, 76, 7, 285, 190, 666, 243, 4, 301, 476, 620, 491, 180, 545, 544, 58, 284, 124, 496, 529, 510, 470, 157, 55}
Returns: -1.0
831
170
240
162
{67, 308, 721, 579, 610, 210, 656, 87, 370, 695, 155, 57, 671, 5, 107, 707, 738, 500, 477, 790, 692, 671, 49, 630, 669, 809, 302, 2, 42, 778}
{93, 143, 51, 103, 45, 161, 94, 147, 118, 96, 117, 130, 9, 76, 138, 14, 163, 72, 8, 158, 13, 91, 100, 44, 105, 42, 48, 34, 97, 28}
Returns: 8.0
991
747
796
586
{611, 141, 793, 665, 410, 806, 825, 490, 393, 418, 808, 764, 29, 733, 18, 469, 17, 457, 292, 768, 703, 793, 914, 715, 371, 108, 117, 253, 91, 628, 972}
{351, 39, 371, 215, 182, 294, 721, 461, 326, 146, 345, 695, 231, 192, 513, 158, 721, 311, 647, 450, 226, 383, 402, 702, 403, 43, 86, 179, 695, 616, 257}
Returns: 195.0
871
511
613
57
{805, 65, 59, 477, 312, 496, 763, 506, 142, 437, 551, 83, 827, 295, 750, 757, 192, 660, 795, 110, 378, 83, 596, 300, 564, 774, 394, 726, 255, 264, 793, 573}
{232, 350, 364, 86, 454, 477, 167, 366, 104, 35, 430, 6, 226, 323, 223, 285, 375, 5, 72, 246, 80, 250, 254, 196, 55, 40, 110, 188, 90, 69, 27, 207}
Returns: 58.01374015765685
609
849
449
528
{390, 105, 261, 131, 322, 57, 39, 598, 2, 360, 70, 9, 522, 509, 465, 75, 510, 222, 335, 261, 306, 35, 382, 605, 256, 210, 121, 401, 445, 272, 152, 77, 558}
{530, 364, 772, 79, 771, 419, 311, 111, 562, 236, 477, 386, 234, 756, 562, 267, 426, 3, 87, 733, 212, 96, 759, 172, 280, 150, 782, 127, 67, 215, 533, 99, 541}
Returns: -1.0
727
821
89
685
{619, 436, 652, 465, 390, 457, 357, 512, 119, 551, 724, 133, 153, 546, 681, 313, 671, 580, 331, 328, 539, 618, 441, 246, 310, 534, 282, 393, 81, 97, 505, 434, 259, 362}
{351, 419, 221, 788, 680, 486, 45, 564, 708, 201, 340, 689, 440, 360, 401, 724, 704, 646, 410, 631, 419, 456, 509, 146, 529, 550, 168, 735, 432, 740, 85, 302, 621, 380}
Returns: 89.0
617
280
128
208
{455, 37, 524, 544, 382, 424, 412, 369, 173, 335, 570, 612, 226, 458, 66, 388, 367, 242, 85, 332, 566, 55, 25, 170, 19, 446, 64, 483, 186, 429, 287, 405, 365, 85, 326}
{137, 192, 25, 277, 68, 58, 95, 231, 115, 85, 237, 228, 159, 5, 45, 76, 214, 15, 25, 148, 43, 80, 3, 205, 43, 65, 193, 60, 17, 57, 170, 58, 156, 200, 24}
Returns: 72.0
626
297
187
102
{316, 114, 532, 351, 400, 127, 451, 148, 514, 358, 416, 63, 239, 429, 244, 516, 558, 323, 153, 243, 464, 125, 329, 34, 324, 364, 426, 195, 40, 120, 371, 60, 32, 375, 367, 478}
{200, 135, 101, 165, 282, 90, 202, 95, 254, 172, 256, 271, 265, 122, 153, 64, 232, 162, 244, 52, 159, 7, 291, 178, 89, 132, 288, 123, 145, 140, 107, 34, 123, 146, 176, 164}
Returns: -1.0
813
32
331
5
{11, 678, 581, 85, 434, 187, 640, 622, 218, 468, 659, 575, 470, 38, 224, 359, 620, 297, 79, 231, 429, 645, 256, 87, 611, 383, 701, 604, 514, 736, 788, 52, 480, 61, 507, 341, 123}
{17, 4, 27, 9, 6, 9, 16, 2, 4, 5, 13, 12, 15, 0, 18, 19, 10, 4, 11, 7, 27, 29, 1, 23, 0, 7, 10, 14, 15, 4, 12, 27, 32, 26, 24, 12, 0}
Returns: 5.0
407
875
284
399
{350, 391, 369, 336, 265, 103, 284, 209, 39, 275, 139, 24, 98, 295, 231, 0, 222, 235, 145, 127, 8, 146, 399, 177, 235, 248, 31, 18, 9, 335, 156, 0, 318, 86, 158, 395, 353, 47}
{282, 366, 444, 11, 10, 479, 118, 765, 403, 619, 168, 300, 372, 824, 40, 309, 80, 11, 2, 573, 585, 234, 226, 827, 480, 287, 795, 742, 9, 687, 266, 814, 238, 487, 298, 682, 116, 397}
Returns: -1.0
366
808
277
183
{288, 136, 161, 69, 341, 211, 75, 65, 187, 205, 119, 352, 239, 316, 101, 182, 2, 161, 96, 324, 50, 42, 219, 342, 236, 102, 153, 190, 245, 289, 137, 167, 338, 284, 133, 67, 167, 179, 89}
{456, 169, 571, 534, 611, 446, 495, 171, 55, 530, 175, 401, 177, 121, 229, 274, 58, 753, 156, 114, 560, 274, 260, 49, 195, 568, 242, 658, 421, 716, 329, 312, 490, 447, 336, 578, 446, 438, 649}
Returns: 89.90406531374188
592
255
53
27
{71, 398, 264, 579, 359, 166, 248, 164, 334, 46, 580, 126, 525, 496, 536, 439, 213, 527, 387, 414, 16, 73, 252, 109, 272, 426, 532, 584, 188, 76, 314, 0, 33, 451, 23, 151, 248, 364, 532, 201}
{156, 16, 54, 127, 149, 208, 174, 25, 89, 1, 51, 251, 207, 38, 103, 86, 61, 13, 62, 88, 89, 220, 13, 169, 226, 254, 182, 112, 61, 231, 127, 160, 19, 17, 206, 227, 44, 6, 27, 201}
Returns: 55.509008277936296
645
273
412
240
{18, 390, 343, 539, 367, 453, 149, 19, 595, 164, 558, 52, 416, 53, 42, 581, 9, 520, 328, 447, 640, 474, 445, 165, 544, 566, 185, 78, 170, 179, 636, 6, 275, 288, 311, 74, 118, 40, 449, 413, 38}
{44, 99, 112, 35, 75, 234, 257, 218, 129, 175, 227, 185, 203, 13, 195, 45, 84, 129, 186, 48, 251, 272, 8, 224, 33, 36, 202, 174, 90, 256, 56, 188, 176, 60, 191, 85, 184, 240, 60, 146, 53}
Returns: 33.0
571
939
52
402
{272, 417, 533, 103, 410, 341, 316, 23, 60, 398, 124, 367, 322, 219, 305, 13, 435, 285, 317, 489, 326, 46, 370, 453, 14, 384, 378, 271, 174, 508, 22, 238, 446, 545, 117, 223, 540, 150, 223, 570, 109, 85}
{634, 597, 679, 245, 245, 653, 698, 139, 676, 669, 14, 221, 641, 704, 136, 260, 784, 275, 895, 796, 591, 899, 895, 842, 712, 641, 109, 905, 83, 49, 569, 778, 672, 100, 667, 899, 39, 494, 366, 736, 120, 44}
Returns: 52.0
277
307
163
106
{230, 197, 156, 149, 5, 102, 74, 184, 261, 53, 38, 215, 96, 216, 223, 119, 277, 111, 0, 231, 162, 156, 45, 225, 148, 93, 150, 74, 4, 220, 45, 171, 6, 88, 213, 258, 35, 76, 212, 152, 160, 152, 131}
{101, 118, 46, 278, 212, 211, 242, 87, 108, 209, 29, 140, 272, 74, 189, 126, 123, 289, 282, 134, 239, 22, 41, 69, 302, 75, 141, 10, 199, 180, 64, 15, 197, 19, 7, 118, 13, 189, 168, 16, 14, 145, 72}
Returns: -1.0
963
564
508
457
{215, 135, 605, 871, 322, 111, 553, 328, 321, 262, 14, 761, 730, 191, 218, 828, 744, 550, 155, 43, 10, 569, 535, 947, 441, 105, 621, 471, 854, 660, 71, 777, 258, 853, 761, 608, 147, 813, 26, 786, 911, 677, 240, 156}
{310, 537, 393, 125, 293, 272, 404, 462, 276, 515, 23, 126, 431, 542, 458, 492, 37, 362, 224, 133, 137, 207, 23, 225, 550, 133, 214, 430, 401, 81, 478, 5, 31, 418, 498, 244, 509, 261, 389, 277, 263, 221, 203, 379}
Returns: 118.30887247875945
429
937
306
543
{170, 264, 414, 52, 185, 359, 93, 68, 10, 324, 114, 43, 284, 166, 366, 164, 406, 78, 62, 388, 75, 11, 216, 159, 361, 340, 258, 239, 388, 399, 423, 115, 419, 215, 271, 411, 312, 123, 44, 27, 205, 423, 287, 28, 118}
{241, 657, 259, 88, 573, 847, 580, 770, 916, 419, 696, 447, 294, 679, 267, 327, 810, 322, 399, 740, 453, 613, 451, 395, 779, 225, 851, 233, 788, 252, 593, 537, 184, 835, 66, 232, 374, 211, 657, 839, 757, 1, 36, 49, 859}
Returns: -1.0
662
874
29
297
{109, 3, 131, 391, 22, 193, 564, 67, 248, 412, 271, 138, 43, 638, 505, 253, 541, 289, 220, 235, 118, 165, 516, 19, 538, 438, 171, 443, 584, 535, 528, 59, 141, 78, 112, 83, 579, 1, 494, 164, 351, 57, 291, 15, 479, 586}
{151, 512, 855, 827, 103, 264, 89, 677, 761, 307, 805, 743, 446, 865, 427, 15, 393, 195, 13, 564, 368, 50, 487, 371, 241, 348, 419, 684, 94, 418, 662, 489, 38, 98, 790, 825, 776, 589, 476, 277, 572, 550, 22, 824, 170, 405}
Returns: 29.0
407
322
113
229
{309, 278, 347, 148, 339, 271, 105, 291, 66, 116, 179, 318, 207, 294, 247, 334, 287, 327, 226, 126, 340, 217, 267, 401, 41, 367, 221, 72, 158, 380, 336, 214, 71, 214, 73, 234, 135, 46, 206, 312, 10, 40, 142, 301, 111, 201, 101}
{151, 289, 152, 316, 142, 129, 13, 117, 274, 168, 261, 235, 305, 56, 60, 22, 307, 230, 178, 294, 293, 91, 163, 256, 8, 59, 130, 45, 64, 204, 129, 262, 46, 21, 59, 32, 239, 206, 115, 284, 11, 78, 182, 313, 210, 117, 314}
Returns: -1.0
124
474
63
225
{88, 26, 93, 42, 111, 47, 78, 82, 92, 44, 65, 66, 112, 69, 86, 50, 82, 97, 77, 5, 2, 37, 124, 88, 98, 6, 55, 62, 81, 98, 90, 54, 64, 72, 89, 35, 57, 2, 61, 67, 87, 71, 34, 112, 60, 69, 118, 62}
{340, 178, 366, 390, 382, 90, 440, 158, 280, 328, 220, 158, 62, 304, 336, 252, 243, 124, 105, 260, 210, 410, 306, 80, 399, 54, 10, 437, 406, 185, 69, 104, 315, 399, 5, 295, 19, 468, 92, 426, 160, 143, 102, 185, 198, 272, 317, 132}
Returns: -1.0
228
827
176
423
{123, 171, 74, 45, 172, 150, 129, 172, 86, 53, 132, 223, 158, 4, 210, 222, 10, 29, 111, 211, 35, 73, 112, 148, 49, 31, 159, 160, 56, 227, 146, 49, 153, 159, 78, 213, 213, 66, 131, 205, 133, 118, 112, 99, 193, 128, 128, 148, 69}
{408, 560, 432, 395, 391, 346, 145, 406, 212, 611, 770, 377, 130, 501, 187, 335, 271, 173, 282, 324, 554, 679, 756, 625, 292, 324, 56, 689, 554, 619, 155, 750, 308, 23, 10, 723, 66, 131, 45, 220, 800, 479, 708, 404, 67, 627, 204, 668, 807}
Returns: 52.35884909401567
630
225
626
183
{117, 270, 562, 579, 608, 346, 391, 33, 350, 486, 526, 102, 96, 627, 270, 236, 466, 319, 45, 103, 282, 56, 353, 301, 388, 96, 190, 246, 397, 539, 288, 409, 553, 367, 387, 573, 19, 480, 117, 546, 397, 146, 77, 487, 163, 596, 223, 313, 197, 265}
{73, 54, 185, 106, 7, 173, 177, 29, 196, 223, 220, 92, 210, 72, 78, 30, 74, 119, 21, 9, 59, 128, 197, 139, 206, 22, 10, 78, 166, 14, 206, 85, 3, 131, 29, 158, 69, 163, 221, 127, 107, 214, 167, 90, 54, 8, 114, 1, 47, 121}
Returns: 4.0
999
897
241
168
{593, 777, 411, 677, 213}
{696, 811, 128, 440, 155}
Returns: 539.2708272732069
31
31
15
15
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30}
{30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
Returns: 17.059180079945225
3
3
1
2
{0}
{0}
Returns: 1.0
4
4
4
4
{0, 0, 4}
{0, 4, 0}
Returns: 0.0
1000
1000
501
499
{0, 0, 1000, 1000}
{0, 1000, 0, 1000}
Returns: 499.0
1000
1000
501
501
{1, 1, 1000, 998}
{1, 1000, 1, 999}
Returns: 499.00099597593595
10
100
10
50
{5 }
{50 }
Returns: 0.0
10
100
10
50
{5 }
{50 }
Returns: 0.0