Statistics

Problem Statement for "RestoringPolygon"

Problem Statement

A rectangular polygon is a polygon whose edges are all parallel to the coordinate axes. The polygon must have a single, non-intersecting boundary.

You are given several horizontal line segments. You may remove some of the given segments and add any number of vertical segments to construct a rectangular polygon. Your goal is to maximize the number of edges in the final polygon.

You will be given int[]s x1, x2, and y. (x1[i], y[i]) and (x2[i], y[i]) are the end points of the i-th line segment. The given segments will have no common points. Return the maximal number of edges in a polygon that can be constructed using the above method. If no polygon can be constructed, return 0.

Definition

Class:
RestoringPolygon
Method:
restore
Parameters:
int[], int[], int[]
Returns:
int
Method signature:
int restore(int[] x1, int[] x2, int[] y)
(be sure your method is public)

Constraints

  • x1, x2 and y will all contain the same number of elements.
  • x1, x2 and y will each contain between 1 and 16 elements, inclusive.
  • Each element of x1, x2 and y will be between -1000 and 1000, inclusive.
  • Corresponding elements of x1 and x2[i] will not be equal.
  • The line segments described by x1, x2 and y will not have common points.

Examples

  1. {1,2,3,1}

    {2,3,5,5}

    {1,4,2,0}

    Returns: 8

    In this case all segments can be the edges of the polygon. The resulting polygon has 4 horizontal and 4 vertical edges for a total of 8.

  2. {1,1,2,2}

    {3,3,4,4}

    {0,2,1,3}

    Returns: 4

    In this case either the first two segments or the last two segments can be used to construct a square.

  3. {1}

    {2}

    {1}

    Returns: 0

    One segment is not enough.

  4. {0,0,0}

    {1000,1000,1000}

    {0,1,2}

    Returns: 4

  5. {0,0,3,3}

    {1,1,4,4}

    {0,1,2,3}

    Returns: 4

  6. {0,0}

    {1,1}

    {0,1}

    Returns: 4

  7. {0,0}

    {1,2}

    {0,1}

    Returns: 0

  8. {0,1}

    {1,2}

    {0,1}

    Returns: 0

  9. {0,1}

    {3,2}

    {0,1}

    Returns: 0

  10. {0,2}

    {1,3}

    {0,0}

    Returns: 0

  11. {0,2}

    {1,3}

    {0,1}

    Returns: 0

  12. {0,1,1,0}

    {3,2,2,3}

    {0,1,2,3}

    Returns: 4

  13. {0,1}

    {1,0}

    {0,1}

    Returns: 4

  14. {0,1,1,2}

    {1,0,2,1}

    {0,4,2,3}

    Returns: 8

  15. {0,0,0,0}

    {1,1,1,1}

    {0,1,2,3}

    Returns: 4

  16. {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0}

    {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15}

    {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}

    Returns: 32

  17. {0, 0, 0, 0}

    {1, 3, 2, 1}

    {0, 1, 2, 3}

    Returns: 4

  18. {0, 0, 0, 0}

    {2, 1, 1, 3}

    {0, 1, 2, 3}

    Returns: 4

  19. {1, 3, 2, 1}

    {4, 4, 4, 4}

    {0, 1, 2, 3}

    Returns: 4

  20. {2, 1, 1, 3}

    {4, 4, 4, 4}

    {0, 1, 2, 3}

    Returns: 4

  21. {722}

    {-938}

    {-454}

    Returns: 0

  22. {-836}

    {-149}

    {-859}

    Returns: 0

  23. {-264}

    {550}

    {396}

    Returns: 0

  24. {-549, -549}

    {-968, -968}

    {-976, -154}

    Returns: 4

  25. {-847, -795}

    {-795, -847}

    {480, -719}

    Returns: 4

  26. {-193, 323}

    {323, -193}

    {595, -519}

    Returns: 4

  27. {-180, -180, -726}

    {-423, -726, -423}

    {360, 810, 585}

    Returns: 6

  28. {-399, -399, -399}

    {-90, -90, 432}

    {-531, 167, -321}

    Returns: 4

  29. {-885, -224, -224}

    {-627, 366, 366}

    {17, -136, 17}

    Returns: 4

  30. {-807, -814, -814, -807}

    {-814, -807, -807, -814}

    {-438, -624, -988, -892}

    Returns: 4

  31. {696, -193, -193, 367}

    {367, -276, -276, 696}

    {-14, 168, -14, 168}

    Returns: 4

  32. {-856, 682, -856, -254}

    {872, -107, 682, -856}

    {-899, 721, 173, 783}

    Returns: 0

  33. {-463, -463, 95, 606, 447}

    {606, 29, 29, 447, 606}

    {734, 884, -563, -563, 884}

    Returns: 4

  34. {-70, 666, -70, 693, -583}

    {666, 693, -677, -70, -70}

    {637, -587, -859, 476, -587}

    Returns: 0

  35. {-171, -155, -584, -405, -926}

    {-155, -171, -155, -926, -405}

    {-147, 316, -658, -147, 316}

    Returns: 4

  36. {312, -891, -588, 721, -647, 569}

    {-588, -588, -891, 569, -891, 655}

    {192, -539, 62, 192, -197, -197}

    Returns: 4

  37. {164, 949, 472, 949, 663, -735}

    {472, 472, -735, 663, 720, 210}

    {423, 992, 544, 423, 544, 992}

    Returns: 0

  38. {133, -407, 434, 564, 564, -407}

    {434, 319, -82, 695, 695, -82}

    {-283, 317, 571, 317, 571, -283}

    Returns: 4

  39. {-939, -939, -939, 701, 564, 564, 452}

    {-598, -598, 452, -175, 701, 701, -175}

    {136, -467, -848, 313, -699, -467, -699}

    Returns: 4

  40. {668, 690, 668, 26, 690, -415, 26}

    {-415, 576, -415, 668, 668, 576, 423}

    {722, 176, 767, 683, -539, -539, 176}

    Returns: 4

  41. {-814, 587, 727, 587, 726, 969, 587}

    {587, -778, -778, 969, 727, 727, 727}

    {-838, -253, -242, -593, -838, -253, -511}

    Returns: 8

  42. {-186, -825, -825, -186, -186, -825, -825, -825}

    {-825, -186, -186, -825, -825, -186, -186, -186}

    {225, -251, -612, 826, 221, -47, -945, 354}

    Returns: 4

  43. {478, 478, 478, -478, -473, -478, -473, 336}

    {-478, -473, -473, 939, 336, -473, -447, 939}

    {912, 119, -635, 933, 456, -177, -800, -177}

    Returns: 8

  44. {-511, 304, 688, -384, -401, 624, -401, -511}

    {624, 688, -384, 304, -436, 688, -511, -401}

    {-236, -583, 58, -920, 58, -920, -583, -920}

    Returns: 6

  45. {91, -654, -396, -654, -354, 451, -711, 451, -638}

    {338, -354, 451, 91, -638, -638, -654, 91, -396}

    {-768, -613, -981, 160, 525, -249, 567, 567, -768}

    Returns: 6

  46. {247, -34, 462, 247, -158, -34, 302, -720, 247}

    {-549, -720, 302, 462, 462, 753, 462, -549, 436}

    {-104, 301, 301, 939, 671, 624, -104, -591, -591}

    Returns: 4

  47. {710, -626, 710, -808, 336, 336, 336, -808, 336}

    {-587, -587, -808, -164, -164, -587, -808, -626, -587}

    {752, -162, 171, 797, 648, -29, -166, 760, 760}

    Returns: 10

  48. {739, -286, 821, 219, -286, 219, 821, -286, -632, 821}

    {-383, -632, -383, -286, -632, 739, 739, -632, -286, 739}

    {205, 789, -966, -137, 304, 272, 303, 998, 272, -285}

    Returns: 6

  49. {987, 794, 797, -374, -681, -346, -715, -612, -831, -779}

    {-346, -715, 501, -779, -346, -612, -831, 501, 797, 501}

    {-757, 415, 30, -345, 30, -829, 613, 656, 518, -192}

    Returns: 0

  50. {-181, 275, 275, 326, -297, -297, -297, 275, -181, -386}

    {326, -386, -386, -297, 326, 275, 326, 84, -297, -297}

    {-139, 665, 845, -943, -389, 757, 920, -543, -543, -139}

    Returns: 12

  51. {285, 475, 475, 285, -130, 475, 285, 475, 714, 714, 714}

    {714, 848, -130, -130, 848, 285, -130, 285, 848, 848, 848}

    {-731, 610, -192, 610, 369, -355, 353, -666, -666, -192, 353}

    Returns: 16

  52. {-261, -60, -60, 108, -856, -674, 949, -856, -528, -261, 949}

    {618, -480, 108, 207, 618, -60, 170, 108, -856, -60, -480}

    {-825, -664, 997, 29, 459, 29, 722, -174, 7, 722, 7}

    Returns: 0

  53. {-867, -416, 615, 540, 540, -416, 615, -416, -867, -867, 946}

    {540, 946, 946, 615, 615, -867, 946, -867, -416, 540, 615}

    {-175, 310, 782, 121, -39, -760, -760, -39, 121, 782, -175}

    Returns: 16

  54. {-670, -670, 540, -477, 518, 306, 306, -670, -930, 518, -670, -855}

    {306, 306, -930, 795, 795, -571, -670, 795, -855, 795, -855, -930}

    {-406, -523, -694, -143, -507, -507, 997, -58, -143, 997, -507, 997}

    Returns: 4

  55. {260, 215, 959, 954, -156, 954, -543, -979, -985, -134, -985, -543}

    {-543, 959, -99, -99, 543, -156, -985, -543, -979, -99, -844, -156}

    {-976, 39, 359, -324, -948, -377, 39, 359, -948, 39, -324, -324}

    Returns: 0

  56. {786, -475, -475, -407, -124, 365, -124, -207, 418, 786, 887, 365}

    {365, 365, 786, -207, -407, 418, 365, -124, 786, -573, -207, 418}

    {-134, 127, 176, -134, 994, 816, 2, 816, 127, 978, -932, 994}

    Returns: 6

  57. {-717, 481, -518, -717, -717, -518, 821, 481, 346, 358, 260, 821, -518}

    {-518, 346, 260, -518, 358, 616, 481, 218, 616, 481, 346, 481, 218}

    {111, -808, 345, -758, 580, 914, 345, 452, -458, 111, 111, 580, -808}

    Returns: 12

  58. {455, -18, 296, -680, 296, 133, 133, -467, -467, 201, -44, -306, 296}

    {-467, -44, -776, 201, -467, -776, 142, -149, -149, 142, 201, -18, -149}

    {130, -503, 421, -230, 290, -598, -882, -427, -882, -427, -565, -68, 996}

    Returns: 4

  59. {-394, -473, -195, -290, 871, 751, -283, -426, -394, 871, -394, -290, -726}

    {869, -726, 869, -726, -290, 58, 871, -195, 58, -585, 871, -473, -426}

    {-206, -147, -629, -629, -147, -196, 314, -196, 570, 113, 885, 314, 570}

    Returns: 6

  60. {78, 78, -234, -172, -234, 984, -234, -807, -736, -336, -372, -807, -62, 993}

    {993, -234, 984, -818, 984, 370, -807, 370, 984, 370, -640, -818, -172, 370}

    {-946, -369, -739, -946, -70, -212, -951, 141, 53, 656, -70, 53, -951, -951}

    Returns: 8

  61. {350, 937, -495, 826, 350, -495, 937, -815, -125, 350, 350, 844, 844, -125}

    {844, 534, -125, -282, -815, -282, -495, 844, -815, 107, 826, 534, 937, 107}

    {169, 547, 169, -230, -651, -217, 601, -61, 547, 547, -217, -651, -217, -217}

    Returns: 12

  62. {-444, -847, 618, -487, -582, -808, 1, 838, -808, -582, 838, -582, 838, -847}

    {-779, 504, -808, -65, 838, -487, -582, -444, -847, 349, 227, -779, 618, -779}

    {-875, 582, 729, 77, 723, 548, 718, 548, -127, -127, 77, 77, 582, 718}

    Returns: 8

  63. {19, -397, 30, 150, -966, -397, 332, 332, 589, 332, -61, -61, -292, -397, 589}

    {-966, -292, -61, -966, 332, -42, 30, 589, 100, -966, 100, 19, -966, -966, 19}

    {-942, 814, -826, -487, -110, 289, 814, 192, -646, 754, 716, -646, -646, -537, 289}

    Returns: 12

  64. {-239, -675, -471, 630, -239, 630, 630, -239, 630, -693, 630, -760, 343, -675, 97}

    {-693, 97, 630, -471, -256, 97, -693, -693, 97, 343, 343, -693, -693, -760, 630}

    {491, 497, 559, 721, 527, 512, 335, 853, 527, 570, 491, 721, 953, 512, 853}

    Returns: 10

  65. {361, -563, 791, -138, 361, 168, 791, -563, -266, -563, 657, -138, 506, 927, 927}

    {-266, -617, -266, -266, -617, -266, 927, 168, 927, -138, -563, 927, -617, 506, 693}

    {-896, -284, -284, 268, 649, -374, 649, -802, 203, 122, -659, -754, -124, -896, -802}

    Returns: 0

  66. {-711, -369, -369, -226, -226, -226, -226, -975, 295, 927, -975, -183, -711, -711, 927, -711}

    {295, 927, 927, -648, 927, 927, -369, -183, -369, -70, -711, 161, -648, -975, 409, -648}

    {-280, -932, 316, 446, -42, 749, 40, 509, -289, 446, 446, 40, -42, -289, 509, 316}

    Returns: 22

  67. {908, 670, -190, 570, 908, 251, -271, 908, 70, 570, 920, -190, -190, 905, -555, -713}

    {-271, 570, 905, -713, -190, 956, -713, -950, -713, 908, 908, -271, -950, 670, -271, -555}

    {972, 941, -270, 818, 683, 125, -705, -736, 176, 176, -418, -949, 125, -949, -270, 683}

    Returns: 12

  68. {-400, 450, -661, 209, 938, 450, 209, 547, 547, 938, 938, -661, -400, -400, -661, 547}

    {-661, -661, -927, -400, -661, -400, 199, 450, 450, -400, 547, 450, 209, -510, -510, -510}

    {747, -567, -117, -936, 386, -477, 747, -117, 747, -133, -936, 633, -204, -117, -133, -331}

    Returns: 12

  69. {-18, 611, -236, 102, 90, 90, 611, 611, 976, 670, -236, 611, 611, -18, 670, 611}

    {-236, 670, 102, 90, 976, -18, 976, 612, -236, -18, 102, 976, 976, -236, 611, 612}

    {-196, -549, 519, 409, 91, -929, 409, 887, -655, -119, -549, -93, 519, 409, -929, -196}

    Returns: 12

  70. {922, -830, 267, -733, 244, -733, -831, 752, 706, -800, -800, -991, -831, 276, 922, 922}

    {-800, 276, -991, 649, 207, -991, -733, 267, -831, 244, 267, -830, 922, -830, -800, 706}

    {348, 859, -987, 930, 540, -256, 540, 540, 424, -67, 53, 930, 904, -654, 191, -59}

    Returns: 6

  71. {138, -221, 120, -754, -878, -754, -401, -754, 120, -878, -221, -138, -138, -567, -878, -138}

    {-221, 138, -412, -265, 138, -878, -754, -878, 138, -265, -138, 120, -401, -221, -401, -221}

    {212, 346, 796, -583, -758, 896, 34, 754, 56, 346, 34, -392, 56, 754, -392, -583}

    Returns: 16

  72. {477, 822, 477, -771, 609, 609, 477, 822, 99, 99, -139, -771, 822, -139, -139, 822}

    {609, 609, 803, 99, 477, 99, 609, 803, 477, 822, -771, -139, 803, 99, -771, 609}

    {514, -104, 384, 384, -31, -829, 86, -31, 728, -427, -427, -829, 514, -104, 86, 728}

    Returns: 22

  73. {-237, -78, 375, 602, 370, -954, -242, 375, 370, -101, 375, -510, -954, 370, -237, 740}

    {-101, -242, -242, -587, -242, -242, 370, 602, 602, 740, 740, -78, -242, 602, -587, 375}

    {268, 553, 663, 819, -773, 777, 304, 553, -31, 303, -721, -721, 268, 268, -31, -773}

    Returns: 12

  74. {891, 66, 92, -597, 893, 92, 893, -755, 92, 528, 160, -755, -149, -597, 92, -355}

    {528, -149, 926, 66, 926, -757, 528, -757, -757, 893, 891, 891, 528, 66, 837, -597}

    {665, 993, 843, 843, -440, 665, -765, 41, 781, 90, 781, -440, 41, -765, 993, 993}

    Returns: 4

  75. {-630, 36, -479, 414, 180, 819, -712, 621, 36, 819, -712, 36, -1, -832, -479, -518}

    {-832, -779, 621, 180, -779, -888, 621, 414, -1, -570, 36, 621, 36, 621, -832, -832}

    {-425, 908, 682, 150, 472, -767, -384, -580, -113, -423, -648, -425, -133, 378, 150, -403}

    Returns: 6

  76. {319, 373, 211, 319, 373, -338, -338, 373, -232, -338, 373, 373, -338, 373, 319, 211}

    {211, -338, -338, 373, -102, 373, -102, -102, 373, 211, -338, -232, -232, 319, 211, 319}

    {438, -428, -693, -326, 829, -963, -866, 8, -906, -326, 73, -111, 812, 196, -248, 812}

    Returns: 14

  77. {-1, -1, -939, 581, -837, 142, 581, -837, -939, -496, -1, 581, -496, -496, -496, -869}

    {-614, -837, 581, -869, -826, 581, -869, -614, -614, -837, -826, -826, -1, -134, -1, -826}

    {-391, -267, -532, -329, 203, -853, -53, 183, 860, -853, 97, 841, 786, 183, 860, 445}

    Returns: 12

  78. {-944, -224, -373, -944, -224, -4, 510, 164, -373, -224, 510, -373, -924, -4, -463, -4}

    {164, -53, -53, -62, -4, -924, -944, 510, -924, -463, -463, -463, -944, -944, -224, -62}

    {-824, -128, 160, -825, -847, -409, 354, -825, -128, 214, 275, -841, -280, -966, 518, 518}

    Returns: 14

  79. {252, 379, -274, 656, 619, -65, 379, 379, -929, 252, -929, 379, -274, -337, -337, 656}

    {369, 811, 677, 677, 677, 369, -929, -274, -65, 677, -274, 656, 369, -929, -929, 619}

    {-40, 7, 8, -75, 297, -75, 297, 101, -40, -701, -701, -40, 7, 8, 7, 101}

    Returns: 20

  80. {98, 870, -757, -652, -903, 870, 98, -426, 287, 287, -903, -903, -652, 287, 968, -652}

    {-652, 287, 968, -903, -642, 188, 188, -903, -642, 968, -642, 287, 98, 188, -757, -903}

    {828, -602, -544, -602, -668, 828, -668, -253, -53, -668, 248, 383, 84, -253, 648, -53}

    Returns: 10

  81. {262, -787, -787, 844, -259, 848, 262, 383, -595, -680, 262, 251, -259, 262, 262, 383}

    {-201, -207, -942, 777, 58, 844, 777, 348, 383, -259, 251, 383, -201, -259, 348, 777}

    {433, -875, -326, 433, -515, 615, 821, 615, -326, 821, -875, 326, 326, 615, -515, -875}

    Returns: 14

  82. {833, 434, -593, -582, -582, -582, -1000, -582, -593, 434, -593, 640, 640, -1000, 833, 833}

    {-593, -582, 640, -703, -703, 434, -703, -538, -703, -593, -703, 434, 833, -703, 434, 434}

    {-719, 283, -587, -98, 92, -786, -586, -364, -786, -586, -364, -98, 283, -587, 92, -364}

    Returns: 18

  83. {444, 444, -25, 379, 444, 444, 379, 444, -25, 444, -25, 126, 444, 379, -25, 444}

    {-25, 126, 126, 444, 126, 379, 126, 379, 126, -25, 126, -25, 126, 444, 126, 379}

    {364, -606, 902, 717, -123, -255, -597, 902, 468, -404, 446, 937, -759, 924, 924, -987}

    Returns: 6

  84. {0, 0, 0, 0, 0}

    {3, 4, 3, 3, 4}

    {1, 2, 3, 4, 5}

    Returns: 8

  85. {0, 1, 2}

    {1, 2, 0}

    {2, 0, 1}

    Returns: 0

  86. {0, 1 }

    {1, 0 }

    {0, 1 }

    Returns: 4

  87. {0, 0, 0, 0, 2, 2, 0, 0 }

    {4, 2, 2, 4, 10, 10, 1, 1 }

    {0, 1, 4, 10, 2, 3, 6, 7 }

    Returns: 12

  88. {0, 0, 0, 0 }

    {1, 1, 1, 1 }

    {3, 2, 1, 0 }

    Returns: 4

  89. {0, 1, 2, 0 }

    {1, 2, 3, 3 }

    {0, 2, 3, 1 }

    Returns: 0

  90. {0, 0, 0, 0 }

    {3, 2, 2, 3 }

    {0, 1, 2, 3 }

    Returns: 8

  91. {0, 100, 0, 100 }

    {10, 110, 10, 110 }

    {0, 0, 10, 10 }

    Returns: 4

  92. {0, 0, 100, 100, 150, 150, 30, 30, 130, 130, 170, 180, 160, 160, 210, 210 }

    {200, 200, 150, 150, 200, 200, 230, 230, 180, 180, 230, 230, 210, 210, 260, 260 }

    {0, 200, 50, 250, 25, 225, 30, 230, 180, 280, 55, 255, 110, 310, 85, 285 }

    Returns: 8

  93. {0, 0, 0, 0 }

    {100, 50, 50, 100 }

    {1, 2, 3, 4 }

    Returns: 8

  94. {0, 0, 0, 0 }

    {2, 1, 1, 2 }

    {0, 1, 2, 3 }

    Returns: 8

  95. {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }

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

    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }

    Returns: 24

  96. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }

    Returns: 4

  97. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

    {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }

    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }

    Returns: 4

  98. {0, 0 }

    {1, 2 }

    {0, 1 }

    Returns: 0

  99. {-1, 0, 1, 1, 1, 2, 3, 3, 10, 20, 10, 20, 10, 20, 10, 20 }

    {4, 3, 3, 2, 2, 3, 4, 4, 2, 3, 2, 3, 2, 3, 2, 3 }

    {4, 2, 1, 3, 5, 6, 0, 7, 100, 101, 102, 103, 104, 105, 106, 107 }

    Returns: 10

  100. {1, 1, 1, 2 }

    {2, 2, 2, 1 }

    {1, 2, 3, 4 }

    Returns: 4

  101. {-3, 2, 2, 1, 2, -3, 2, -3, 3, 4, 4, 2, 1, 1, -3, -3 }

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

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

    Returns: 30

  102. {0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0 }

    {3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3 }

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

    Returns: 28

  103. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }

    Returns: 4

  104. {0, 0, 0, 0 }

    {1, 1, 1, 1 }

    {0, 1, 2, 3 }

    Returns: 4

  105. {1, 2 }

    {3, 1 }

    {2, 3 }

    Returns: 0

  106. {144, 250, 110, 0, -11, -64, 250, 0, 576, -11, 110, 110, 0, 76, 66 }

    {-11, 567, 0, 114, 0, 250, 110, 114, 250, 114, -64, -11, 114, 5, 576 }

    {-6, 1, -987, 4, -114, 11, -114, 1, 0, 8, -2, 0, 88, -8, 6 }

    Returns: 6

  107. {1, 0, 1, 2, 0 }

    {4, 2, 3, 3, 4 }

    {0, 1, 2, 3, 4 }

    Returns: 0

  108. {1, 0, 0 }

    {2, 2, 1 }

    {0, 1, 2 }

    Returns: 0

  109. {0, 0, 2 }

    {2, 4, 4 }

    {0, 2, 4 }

    Returns: 0

  110. {1, 2, 3 }

    {2, 3, 1 }

    {1, 3, 2 }

    Returns: 0

  111. {1, 2, 2, 1 }

    {3, 3, 3, 3 }

    {1, 2, 3, 4 }

    Returns: 8

  112. {1, 1, 2 }

    {2, 3, 3 }

    {1, 2, 3 }

    Returns: 0

  113. {0, 0, 1, 1, 1, 1 }

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

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

    Returns: 8


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: