Statistics

Problem Statement for "PolyMove"

Problem Statement

You are given the vertices of a convex polygon in clockwise order. As you traverse the boundary in the given order, your heading adjusts toward your right at each vertex by more than 0 but less than 180 degrees. As you complete the circuit by going from the last vertex to the first vertex and then heading toward the second vertex, your total heading adjustment has been 360 degrees.

We want to increase the size of the given convex polygon by picking some of its vertices and moving them. We are not allowed to choose vertices that are adjacent to each other, and we are not allowed to move a chosen vertex a distance of more than 1. Of course the boundary segments between a moved vertex and its fixed adjacent vertices also move -- we require that moving boundary segments never intersect any other boundary segments. This guarantees that we will end up with a polygon (possibly not convex) that has a well-defined interior and exterior.

Create a class PolyMove that contains a method addedArea that is given the sequence of vertices of a convex polygon in int[]s x and y. It returns the greatest increase in area that can be achieved by choosing and moving vertices. The coordinates of the i-th vertex are given by the i-th elements of x and y. There is a boundary segment between the last vertex and first vertex.

Definition

Class:
PolyMove
Method:
addedArea
Parameters:
int[], int[]
Returns:
double
Method signature:
double addedArea(int[] x, int[] y)
(be sure your method is public)

Notes

  • A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.

Constraints

  • x and y will contain the same number of elements, a number between 3 and 50, inclusive.
  • Each element of x and of y will be between -1000 and 1000, inclusive.
  • The points corresponding to x and y will be distinct.
  • The described polygon will be clockwise convex as specified above.

Examples

  1. {0,1,2}

    {0,1,0}

    Returns: 1.0

    This is an isosceles triangle that has an area of 1. We can increase its area most by moving the middle point from (1,1) to the point (1,2). Now the triangle will have an area of 2, so the increase in area is 1.

  2. {0,1,1,0}

    {1,1,0,0}

    Returns: 1.4142135623730951

    This polygon is a unit square. We can move (0,0) and (1,1), moving them each one unit along the 45 degree diagonal to (-1/sqrt(2),-1/sqrt(2)) and (1+sqrt(2),1+sqrt(2)) respectively. The new polygon is diamond shaped and has an area of 1 + sqrt(2), so its area has increased by sqrt(2).

  3. {0,1,2,3,4,5,6,7,8,9}

    {0,9,17,24,30,35,39,42,44,0}

    Returns: 44.798129010506386

  4. {0,50,100,150,200,200,0}

    {200,202,203,203,202,0,0}

    Returns: 296.1807877329639

  5. {0,2,19,30,29}

    {0,300,300,1,0}

    Returns: 300.7603622931292

  6. {0,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,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49}

    {0,25,49,72,94,115,135,154,172,189,205,220,234,247,259,270,280,289,297,304,310,315,319,322,324,325,325,324,322,319,315,310,304,297,289,280,270,259,247,234,220,205,189,172,154,135,115,94,72,49}

    Returns: 334.4101403819167

  7. {0,25,50,50,0}

    {50,1000,50,0,0}

    Returns: 1000.3124511871279

  8. {25,50,50,0,0}

    {1000,50,0,0,50}

    Returns: 1000.3124511871279

  9. {0,0,20,40,60,40}

    {-1,10,20,29,0,-20}

    Returns: 71.64158982548453

  10. {0,0,20,40,60,40,1}

    {-1,10,20,29,0,-20,-3}

    Returns: 68.78317965096906

  11. {1,0,0,20,40,60,40}

    {-3,-1,10,20,29,0,-20}

    Returns: 68.78317965096906

  12. {-691,-690,-672,-662,-644,-638,-620,-598,-571,-558,-540,-526,-507,-493,-473,-453,-435,-423,-406,-400,-390,-383,-373,-368,-361,-354,-352,-350,-900,-900,-899,-898,-893,-891,-885,-882,-881,-863,-844,-837,-824,-798,-777,-755,-733,-723,-714}

    {-733,-733,-734,-735,-737,-738,-742,-748,-758,-763,-771,-778,-788,-797,-810,-826,-842,-854,-873,-881,-895,-906,-926,-937,-957,-980,-988,-999,-900,-880,-868,-862,-839,-834,-821,-815,-814,-797,-783,-778,-770,-758,-749,-742,-737,-735,-734}

    Returns: 654.2379198484771

  13. {-900,-899,-898,-891,-886,-870,-867,-865,-845,-824,-811,-801,-799,-779,-754,-735,-721,-717,-692,-671,-655,-639,-611,-592,-570,-543,-515,-494,-477,-469,-446,-429,-406,-399,-383,-371,-357,-340,-327,-318,-305,-291,-280,-271,-267,-262,-900}

    {-880,-871,-867,-850,-842,-818,-814,-812,-794,-777,-767,-760,-759,-751,-742,-736,-732,-731,-727,-725,-724,-724,-725,-726,-729,-734,-742,-750,-757,-761,-774,-784,-799,-804,-816,-827,-841,-860,-877,-889,-909,-932,-952,-973,-983,-996,-900}

    Returns: 734.8912341349624

  14. {-861,-850,-840,-829,-822,-812,-808,-783,-771,-746,-723,-704,-682,-665,-659,-648,-640,-620,-598,-570,-544,-521,-500,-475,-446,-423,-409,-383,-356,-331,-311,-295,-284,-274,-250,-228,-208,-201,-192,-186,-171,-158,-147,-900,-900,-898,-892,-890,-880,-876}

    {-796,-782,-771,-760,-754,-746,-743,-727,-721,-709,-698,-690,-681,-675,-673,-670,-668,-664,-661,-658,-656,-656,-658,-661,-666,-671,-675,-684,-696,-709,-720,-729,-736,-743,-760,-778,-798,-806,-818,-827,-850,-873,-893,-900,-880,-869,-849,-844,-824,-818}

    Returns: 845.4355935541583

  15. {-821,-810,-792,-777,-764,-747,-738,-712,-697,-671,-644,-638,-630,-617,-595,-587,-562,-554,-533,-514,-505,-498,-489,-473,-469,-462,-900,-900,-899,-898,-890,-868,-862,-841,-831}

    {-824,-821,-818,-816,-815,-815,-816,-820,-823,-829,-836,-838,-841,-846,-856,-860,-875,-881,-901,-920,-930,-938,-950,-973,-979,-991,-900,-880,-873,-872,-865,-848,-844,-833,-828}

    Returns: 485.0184100942037

  16. {0, 1, 2 }

    {0, 1, 0 }

    Returns: 1.0

  17. {0, 1, 1, 0 }

    {1, 1, 0, 0 }

    Returns: 1.4142135623730951

  18. {0, 0, 1, 2, 1000, 1000, 800, 1 }

    {0, 999, 1000, 1000, 999, 800, 200, -100 }

    Returns: 1823.6365719780913

  19. {2, 4, 0 }

    {1, -1, 0 }

    Returns: 2.0615528128088303

  20. {-6, -7, -6, -4, -2, 1, 3, 4, 3, -1, -3 }

    {-1, 2, 4, 6, 7, 7, 6, 4, -2, -5, -4 }

    Returns: 15.924196446313525

  21. {-10, -6, -2, 0, -2, -3, -6, -10, -11 }

    {5, 6, 5, 1, -2, -3, -3, -2, 1 }

    Returns: 14.535533905932738

  22. {0, 0, 1, 3 }

    {0, 1, 2, 0 }

    Returns: 3.1622776601683795

  23. {998, 982, 951, 904, 844, 770, 684, 587, 481, 368, 248, 125, 0, -125, -248, -368, -481, -587, -684, -770, -844, -904, -951, -982, -998, -998, -982, -951, -904, -844, -770, -684, -587, -481, -368, -248, -125, 0, 125, 248, 368, 481, 587, 684, 770, 844, 904, 951, 982, 998 }

    {-62, -187, -309, -425, -535, -637, -728, -809, -876, -929, -968, -992, -1000, -992, -968, -929, -876, -809, -728, -637, -535, -425, -309, -187, -62, 62, 187, 309, 425, 535, 637, 728, 809, 876, 929, 968, 992, 1000, 992, 968, 929, 876, 809, 728, 637, 535, 425, 309, 187, 62 }

    Returns: 3131.630342333775

  24. {-500, -480, -460, -440, -420, -400, -380, -360, -340, -320, -300, -280, -260, -240, -220, -200, -180, -160, -140, -120, -100, -80, -60, -40, -20, 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480 }

    {-950, -901, -853, -806, -760, -715, -671, -628, -586, -545, -505, -466, -428, -391, -355, -320, -286, -253, -221, -190, -160, -131, -103, -76, -50, -25, -1, 22, 44, 65, 85, 104, 122, 139, 155, 170, 184, 197, 209, 220, 230, 239, 247, 254, 260, 265, 269, 272, 274, 275 }

    Returns: 1587.1601877383662

  25. {0, 50, 100, 100, 50, 0 }

    {1, 2, 1, 0, -1, 0 }

    Returns: 100.03998401278722

  26. {0, 0, 2, 4, 4, 2 }

    {0, 1, 2, 1, 0, -1 }

    Returns: 4.82842712474619

  27. {0, 1, 2, 2, 1 }

    {0, 1, 1, -1, -1 }

    Returns: 2.23606797749979

  28. {984, 976, 953, 914, 862, 796, 717, 627, 527, 418, 304, 184, 61, -61, -184, -304, -418, -527, -627, -717, -796, -862, -914, -953, -976, -983, -976, -953, -914, -862, -796, -717, -627, -527, -419, -304, -184, -61, 61, 184, 303, 418, 527, 627, 717, 796, 862, 914, 953, 976 }

    {0, -71, -142, -210, -276, -336, -392, -441, -483, -518, -544, -562, -571, -571, -562, -544, -518, -483, -441, -392, -336, -276, -210, -142, -71, 0, 71, 142, 210, 276, 336, 392, 441, 483, 518, 544, 562, 571, 571, 562, 544, 518, 483, 441, 392, 336, 276, 210, 142, 71 }

    Returns: 2480.165866400116

  29. {1, 2, 0 }

    {1, 0, 0 }

    Returns: 1.0

  30. {0, 1, 2, 7 }

    {0, 5, 8, 3 }

    Returns: 8.246211251235321

  31. {0, -50, -51, -51, -50, 0, 50, 51, 51, 50 }

    {-500, 0, 20, 21, 41, 541, 41, 21, 20, 0 }

    Returns: 1044.9899521048037

  32. {0, 10, 0 }

    {10, 0, 0 }

    Returns: 7.0710678118654755

  33. {0, 7, 500 }

    {0, 124, -3 }

    Returns: 254.5476379776485

  34. {0, 10, 20, 20, 10 }

    {0, 5, 5, -5, -5 }

    Returns: 20.615528128088304

  35. {0, 1, 432, 0 }

    {1, 1, 0, 0 }

    Returns: 432.001157405857

  36. {1, 2, 3, 12, 10 }

    {1, 2, 2, 1, 0 }

    Returns: 10.524937810560445

  37. {0, 2, 4, 1 }

    {1, 5, 3, 0 }

    Returns: 5.0990195135927845

  38. {0, 3, 4, 3, 0, -3, -4, -3 }

    {4, 3, 0, -3, -4, -3, 0, 3 }

    Returns: 12.0

  39. {0, -20, -19, -18, 0, 18, 19, 20 }

    {-1, 0, 5, 6, 23, 6, 5, 0 }

    Returns: 46.1725046566048

  40. {-5, -4, -2, 0, 3, 4, 3, -4 }

    {0, 1, 2, 2, 1, 0, -1, -1 }

    Returns: 9.383414268677662

  41. {0, 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, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 }

    {0, -1, -3, -6, -10, -15, -21, -28, -36, -45, -55, -66, -78, -91, -105, -120, -136, -153, -171, -190, -210, -231, -253, -276, -300, -325, -351, -378, -406, -435, -465, -496, -528, -561, -595, -630, -666, -703, -741, -780, -820, -861, -903, -946, -990 }

    Returns: 989.1766644870596

  42. {0, 100, 0, -100 }

    {1, 0, -1, 0 }

    Returns: 200.0

  43. {3, 1, 7, 11, 10, 8 }

    {1, 8, 13, 11, 5, 1 }

    Returns: 15.390053977216382

  44. {0, 1, 26 }

    {0, 1, 0 }

    Returns: 13.0

  45. {0, 0, 98, 100, 101, 102, 101, 100, 3, 2 }

    {2, 800, 802, 801, 800, 5, 3, 2, 1, 1 }

    Returns: 898.3103343711609

  46. {0, 2, 2, 0, -1 }

    {2, 2, 0, 0, 1 }

    Returns: 3.1622776601683795

  47. {-1000, 0, 1000, 1000, 0, -1000 }

    {1, 2, 1, 0, -1, 0 }

    Returns: 2000.001999998

  48. {0, 1, 2, 3, 3, 2, 0 }

    {1, 2, 2, 1, 0, -3, 0 }

    Returns: 5.4156547790585154

  49. {2, 0, 1 }

    {0, 0, 1 }

    Returns: 1.0

  50. {0, 0, 3, 6, 6, 1 }

    {0, 7, 8, 7, 0, -1 }

    Returns: 11.748119440177575

  51. {0, 1000, 500, -500, -1000 }

    {1, 0, -1, -1, 0 }

    Returns: 1750.000166666648

  52. {0, 0, 1, 2, 2 }

    {0, 50, 100, 100, 50 }

    Returns: 100.01249893770307

  53. {2, 4, 3, 2, 1 }

    {7, 2, 1, 1, 2 }

    Returns: 6.041381265149109

  54. {-1000, -1000, 999, 800 }

    {-1000, 1000, 997, 0 }

    Returns: 2825.5990515287194

  55. {0, 0, 2, 3, 4, 3, 2 }

    {0, 4, 3, 2, 0, -1, -1 }

    Returns: 5.995358041299246

  56. {0, 0, 1 }

    {0, 1, 0 }

    Returns: 0.7071067811865476

  57. {0, 3, 6, 6, 3, 0 }

    {1, 2, 1, -1, -2, -1 }

    Returns: 7.242640687119284

  58. {1, 3, 6, 4, 0 }

    {3, 7, 3, 1, 0 }

    Returns: 7.161988519181639

  59. {0, 100, 50 }

    {0, 100, 49 }

    Returns: 70.71067811865476

  60. {0, 2, 0 }

    {1, 0, 0 }

    Returns: 1.118033988749895

  61. {10, 0, 1, 2, 10, 18, 19, 20 }

    {-1, 0, 2, 3, 10, 3, 2, 0 }

    Returns: 22.041594578792296

  62. {0, 50, 100, 100, 51 }

    {0, 1, 0, -1, -1 }

    Returns: 100.00249993750313

  63. {-99, -83, -31, 38, 90, 91, 26 }

    {-86, 44, 93, 71, -23, -87, -89 }

    Returns: 274.55264938745006

  64. {0, 1, 2, 1, 0, -1 }

    {1000, 1000, 500, 0, 0, 500 }

    Returns: 1000.0039999840001

  65. {0, 3, 6, 6, 1 }

    {0, 1, 0, -1, -1 }

    Returns: 6.041381265149109

  66. {2, 0, 1, 3, 4 }

    {-1000, 999, 1000, 1000, 999 }

    Returns: 2000.0002499999844

  67. {0, 10, 12, 13, 10 }

    {0, 10, 11, 10, -10 }

    Returns: 20.547511554864492

  68. {10, 0, 0, 5, 10 }

    {0, 0, 5, 10, 5 }

    Returns: 11.180339887498949

  69. {0, 100, 200, 200, 100 }

    {0, 1, 0, -1, -1 }

    Returns: 200.00124999218758

  70. {-100, 0, 100, 100, 0, -100, -101 }

    {3, 4, 3, 1, 0, 1, 2 }

    Returns: 201.0

  71. {0, 0, 2 }

    {0, 1, 0 }

    Returns: 1.118033988749895

  72. {0, 1, 102, 101, 100 }

    {1, 6, 5, 3, 2 }

    Returns: 101.54910064039849

  73. {0, 1, 2 }

    {0, 1, 0 }

    Returns: 1.0

  74. {0, 1, 1, 0 }

    {1, 1, 0, 0 }

    Returns: 1.4142135623730951

  75. {0, 0, 1, 2, 1000, 1000, 800, 1 }

    {0, 999, 1000, 1000, 999, 800, 200, -100 }

    Returns: 1823.6365719780913

  76. {2, 4, 0 }

    {1, -1, 0 }

    Returns: 2.0615528128088303

  77. {-6, -7, -6, -4, -2, 1, 3, 4, 3, -1, -3 }

    {-1, 2, 4, 6, 7, 7, 6, 4, -2, -5, -4 }

    Returns: 15.924196446313525

  78. {-10, -6, -2, 0, -2, -3, -6, -10, -11 }

    {5, 6, 5, 1, -2, -3, -3, -2, 1 }

    Returns: 14.535533905932738

  79. {0, 0, 1, 3 }

    {0, 1, 2, 0 }

    Returns: 3.1622776601683795

  80. {998, 982, 951, 904, 844, 770, 684, 587, 481, 368, 248, 125, 0, -125, -248, -368, -481, -587, -684, -770, -844, -904, -951, -982, -998, -998, -982, -951, -904, -844, -770, -684, -587, -481, -368, -248, -125, 0, 125, 248, 368, 481, 587, 684, 770, 844, 904, 951, 982, 998 }

    {-62, -187, -309, -425, -535, -637, -728, -809, -876, -929, -968, -992, -1000, -992, -968, -929, -876, -809, -728, -637, -535, -425, -309, -187, -62, 62, 187, 309, 425, 535, 637, 728, 809, 876, 929, 968, 992, 1000, 992, 968, 929, 876, 809, 728, 637, 535, 425, 309, 187, 62 }

    Returns: 3131.630342333775

  81. {-500, -480, -460, -440, -420, -400, -380, -360, -340, -320, -300, -280, -260, -240, -220, -200, -180, -160, -140, -120, -100, -80, -60, -40, -20, 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480 }

    {-950, -901, -853, -806, -760, -715, -671, -628, -586, -545, -505, -466, -428, -391, -355, -320, -286, -253, -221, -190, -160, -131, -103, -76, -50, -25, -1, 22, 44, 65, 85, 104, 122, 139, 155, 170, 184, 197, 209, 220, 230, 239, 247, 254, 260, 265, 269, 272, 274, 275 }

    Returns: 1587.1601877383662

  82. {0, 50, 100, 100, 50, 0 }

    {1, 2, 1, 0, -1, 0 }

    Returns: 100.03998401278722

  83. {0, 0, 2, 4, 4, 2 }

    {0, 1, 2, 1, 0, -1 }

    Returns: 4.82842712474619

  84. {0, 1, 2, 2, 1 }

    {0, 1, 1, -1, -1 }

    Returns: 2.23606797749979

  85. {984, 976, 953, 914, 862, 796, 717, 627, 527, 418, 304, 184, 61, -61, -184, -304, -418, -527, -627, -717, -796, -862, -914, -953, -976, -983, -976, -953, -914, -862, -796, -717, -627, -527, -419, -304, -184, -61, 61, 184, 303, 418, 527, 627, 717, 796, 862, 914, 953, 976 }

    {0, -71, -142, -210, -276, -336, -392, -441, -483, -518, -544, -562, -571, -571, -562, -544, -518, -483, -441, -392, -336, -276, -210, -142, -71, 0, 71, 142, 210, 276, 336, 392, 441, 483, 518, 544, 562, 571, 571, 562, 544, 518, 483, 441, 392, 336, 276, 210, 142, 71 }

    Returns: 2480.165866400116

  86. {1, 2, 0 }

    {1, 0, 0 }

    Returns: 1.0

  87. {0, 1, 2, 7 }

    {0, 5, 8, 3 }

    Returns: 8.246211251235321

  88. {0, -50, -51, -51, -50, 0, 50, 51, 51, 50 }

    {-500, 0, 20, 21, 41, 541, 41, 21, 20, 0 }

    Returns: 1044.9899521048037

  89. {0, 10, 0 }

    {10, 0, 0 }

    Returns: 7.0710678118654755

  90. {0, 7, 500 }

    {0, 124, -3 }

    Returns: 254.5476379776485

  91. {0, 10, 20, 20, 10 }

    {0, 5, 5, -5, -5 }

    Returns: 20.615528128088304

  92. {0, 1, 432, 0 }

    {1, 1, 0, 0 }

    Returns: 432.001157405857

  93. {1, 2, 3, 12, 10 }

    {1, 2, 2, 1, 0 }

    Returns: 10.524937810560445

  94. {0, 2, 4, 1 }

    {1, 5, 3, 0 }

    Returns: 5.0990195135927845

  95. {0, 3, 4, 3, 0, -3, -4, -3 }

    {4, 3, 0, -3, -4, -3, 0, 3 }

    Returns: 12.0

  96. {0, -20, -19, -18, 0, 18, 19, 20 }

    {-1, 0, 5, 6, 23, 6, 5, 0 }

    Returns: 46.1725046566048

  97. {-5, -4, -2, 0, 3, 4, 3, -4 }

    {0, 1, 2, 2, 1, 0, -1, -1 }

    Returns: 9.383414268677662

  98. {0, 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, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 }

    {0, -1, -3, -6, -10, -15, -21, -28, -36, -45, -55, -66, -78, -91, -105, -120, -136, -153, -171, -190, -210, -231, -253, -276, -300, -325, -351, -378, -406, -435, -465, -496, -528, -561, -595, -630, -666, -703, -741, -780, -820, -861, -903, -946, -990 }

    Returns: 989.1766644870596

  99. {0, 100, 0, -100 }

    {1, 0, -1, 0 }

    Returns: 200.0

  100. {3, 1, 7, 11, 10, 8 }

    {1, 8, 13, 11, 5, 1 }

    Returns: 15.390053977216382

  101. {0, 1, 26 }

    {0, 1, 0 }

    Returns: 13.0

  102. {0, 0, 98, 100, 101, 102, 101, 100, 3, 2 }

    {2, 800, 802, 801, 800, 5, 3, 2, 1, 1 }

    Returns: 898.3103343711609

  103. {0, 2, 2, 0, -1 }

    {2, 2, 0, 0, 1 }

    Returns: 3.1622776601683795

  104. {-1000, 0, 1000, 1000, 0, -1000 }

    {1, 2, 1, 0, -1, 0 }

    Returns: 2000.001999998

  105. {0, 1, 2, 3, 3, 2, 0 }

    {1, 2, 2, 1, 0, -3, 0 }

    Returns: 5.4156547790585154

  106. {2, 0, 1 }

    {0, 0, 1 }

    Returns: 1.0

  107. {0, 0, 3, 6, 6, 1 }

    {0, 7, 8, 7, 0, -1 }

    Returns: 11.748119440177575

  108. {0, 1000, 500, -500, -1000 }

    {1, 0, -1, -1, 0 }

    Returns: 1750.000166666648

  109. {0, 0, 1, 2, 2 }

    {0, 50, 100, 100, 50 }

    Returns: 100.01249893770307

  110. {2, 4, 3, 2, 1 }

    {7, 2, 1, 1, 2 }

    Returns: 6.041381265149109

  111. {-1000, -1000, 999, 800 }

    {-1000, 1000, 997, 0 }

    Returns: 2825.5990515287194

  112. {0, 0, 2, 3, 4, 3, 2 }

    {0, 4, 3, 2, 0, -1, -1 }

    Returns: 5.995358041299246

  113. {0, 0, 1 }

    {0, 1, 0 }

    Returns: 0.7071067811865476

  114. {0, 3, 6, 6, 3, 0 }

    {1, 2, 1, -1, -2, -1 }

    Returns: 7.242640687119284

  115. {1, 3, 6, 4, 0 }

    {3, 7, 3, 1, 0 }

    Returns: 7.161988519181639

  116. {0, 100, 50 }

    {0, 100, 49 }

    Returns: 70.71067811865476

  117. {0, 2, 0 }

    {1, 0, 0 }

    Returns: 1.118033988749895

  118. {10, 0, 1, 2, 10, 18, 19, 20 }

    {-1, 0, 2, 3, 10, 3, 2, 0 }

    Returns: 22.041594578792296

  119. {0, 50, 100, 100, 51 }

    {0, 1, 0, -1, -1 }

    Returns: 100.00249993750313

  120. {-99, -83, -31, 38, 90, 91, 26 }

    {-86, 44, 93, 71, -23, -87, -89 }

    Returns: 274.55264938745006

  121. {0, 1, 2, 1, 0, -1 }

    {1000, 1000, 500, 0, 0, 500 }

    Returns: 1000.0039999840001

  122. {0, 3, 6, 6, 1 }

    {0, 1, 0, -1, -1 }

    Returns: 6.041381265149109

  123. {2, 0, 1, 3, 4 }

    {-1000, 999, 1000, 1000, 999 }

    Returns: 2000.0002499999844

  124. {0, 10, 12, 13, 10 }

    {0, 10, 11, 10, -10 }

    Returns: 20.547511554864492

  125. {10, 0, 0, 5, 10 }

    {0, 0, 5, 10, 5 }

    Returns: 11.180339887498949

  126. {0, 100, 200, 200, 100 }

    {0, 1, 0, -1, -1 }

    Returns: 200.00124999218758

  127. {-100, 0, 100, 100, 0, -100, -101 }

    {3, 4, 3, 1, 0, 1, 2 }

    Returns: 201.0

  128. {0, 0, 2 }

    {0, 1, 0 }

    Returns: 1.118033988749895

  129. {0, 1, 102, 101, 100 }

    {1, 6, 5, 3, 2 }

    Returns: 101.54910064039849


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: