Statistics

Problem Statement for "NCool"

Problem Statement

You are given a convex polygon and you must count the number of N-cool points. A point is N-cool if it is a lattice point covered by the polygon and also an endpoint of some N-cool segment. A line segment is N-cool if it contains at least N lattice points that are covered by the polygon. A point is considered covered by the polygon if it is inside or on the boundary of the polygon. Endpoints of a segment are considered to be inside of it. A lattice point is a point with integer coordinates.

Consider the example in the picture below. Here N is equal to 6, and there are 21 6-cool points, marked green. Also two 6-cool segments, which are colored red, are shown.

You are given int[]s x and y describing the vertices of the polygon (in no particular order). The coordinates of each vertex are specified by corresponding elements of x and y. Return the number of N-cool points.

Definition

Class:
NCool
Method:
nCoolPoints
Parameters:
int[], int[], int
Returns:
int
Method signature:
int nCoolPoints(int[] x, int[] y, int n)
(be sure your method is public)

Notes

  • A polygon is convex if it contains all the line segments connecting any pair of its points.

Constraints

  • x and y will each contain between 3 and 50 elements, inclusive.
  • x and y will contain the same number of elements.
  • All elements of x and y will be between 0 and 10000, inclusive.
  • The number of lattice points inside or on the boundary of the specified polygon will not be greater than 500000.
  • N will be between 2 and 500000, inclusive.
  • The polygon specified by x and y will be convex and will have nonzero area.

Examples

  1. {0, 1, 2, 7, 7}

    {3, 1, 6, 1, 5}

    6

    Returns: 21

    This is the example from the problem statement.

  2. {0, 1, 0}

    {0, 0, 1}

    2

    Returns: 3

    These three points form a triangle, whose sides are 2-cool segments, so all three vertices are 2-cool.

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

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

    3

    Returns: 6

    One point can be mentioned in the input two or more times.

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

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

    5

    Returns: 4

    There can be 3 points of the polygon, lying on the same line.

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

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

    4

    Returns: 10

  6. {0, 0, 1, 1, 2, 2}

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

    3

    Returns: 6

  7. {0, 0, 1, 2}

    {0, 1, 2, 2}

    3

    Returns: 2

  8. {1, 1, 500, 500}

    {1, 1000, 1, 1000}

    1000

    Returns: 1000

  9. {1, 1, 500, 500}

    {1, 1000, 1, 1000}

    501

    Returns: 500000

  10. {1, 1, 500, 500}

    {1, 1000, 1, 1000}

    2

    Returns: 500000

  11. {1753, 2893, 250, 8566, 5384, 162, 9536, 8739, 2893, 8566, 2893, 5384, 162, 250, 2893, 8566, 162, 9536, 9536, 250, 1753, 1753, 250, 8566, 1753, 1753, 162, 162, 8739, 5384, 162, 8566, 5384, 8739, 1753, 9536, 8739, 9536, 1753, 1753, 2893, 2893, 5384, 8739, 5384, 9536, 250, 2893, 5384, 1753}

    {9, 0, 2, 9, 0, 7, 7, 2, 0, 9, 0, 0, 7, 2, 0, 9, 7, 7, 7, 2, 9, 9, 2, 9, 9, 9, 7, 7, 2, 0, 7, 9, 0, 2, 9, 7, 2, 7, 9, 9, 0, 0, 0, 2, 0, 7, 2, 0, 0, 9}

    566

    Returns: 76481

  12. {9997, 9993, 74, 100, 400, 9898, 9978, 9653, 17, 9976, 9898, 9997, 9993, 400, 9898, 9993, 9976, 100, 9993, 9898, 9993, 100, 9993, 400, 9898, 9997, 9898, 100, 9976, 9653, 9976, 9898, 9976, 9653, 100, 9978, 400, 400, 9653, 9976, 17, 400, 9993, 74, 17, 9653, 100, 9997, 74, 9653}

    {2, 4, 1, 9, 0, 8, 0, 9, 6, 6, 8, 2, 4, 0, 8, 4, 6, 9, 4, 8, 4, 9, 4, 0, 8, 2, 8, 9, 6, 9, 6, 8, 6, 9, 9, 0, 0, 0, 9, 6, 6, 0, 4, 1, 6, 9, 9, 2, 1, 9}

    566

    Returns: 98515

  13. {9997, 2, 21, 9987, 9996, 1, 9996, 2, 1, 9996, 21, 9997, 2, 9996, 9997, 1, 21, 21, 9996, 2, 9997, 9996, 2, 2, 1, 9997, 2, 2, 2, 2, 1, 1, 9997, 9996, 9987, 9996, 9987, 2, 9997, 9997, 9996, 9997, 9996, 9987, 1, 1, 2, 1, 1, 1}

    {1, 4, 0, 0, 9, 9, 9, 4, 9, 9, 0, 1, 4, 9, 1, 9, 0, 0, 9, 4, 1, 9, 4, 4, 9, 1, 4, 4, 4, 4, 9, 9, 1, 9, 0, 9, 0, 4, 1, 1, 9, 1, 9, 0, 9, 9, 4, 9, 9, 9}

    566

    Returns: 99894

  14. {9633, 701, 9606, 5405, 270, 93, 123, 8819, 9651, 701, 5405, 8819, 9651, 270, 5405, 270, 93, 9606, 701, 5405, 93, 8819, 5405, 93, 123, 9651, 8819, 5405, 9606, 270, 9606, 5405, 9651, 5405, 5405, 701, 5405, 123, 9633, 93, 93, 5405, 270, 9606, 8819, 93, 270, 9606, 8819, 270}

    {4, 9, 9, 0, 0, 8, 3, 2, 8, 9, 0, 2, 8, 0, 0, 0, 8, 9, 9, 0, 8, 2, 0, 8, 3, 8, 2, 0, 9, 0, 9, 0, 8, 0, 0, 9, 0, 3, 4, 8, 8, 0, 0, 9, 2, 8, 0, 9, 2, 0}

    610

    Returns: 86375

  15. {9837, 179, 4, 145, 9984, 9990, 9858, 9981, 9588, 408, 9588, 9981, 179, 9984, 408, 9981, 9858, 9837, 145, 9984, 145, 9588, 9990, 9990, 9984, 179, 179, 9981, 4, 145, 9588, 9858, 9984, 9981, 9984, 145, 179, 9837, 9858, 4, 9858, 9858, 179, 9981, 179, 9837, 9990, 408, 9837, 9837}

    {8, 8, 4, 0, 7, 6, 0, 4, 9, 9, 9, 4, 8, 7, 9, 4, 0, 8, 0, 7, 0, 9, 6, 6, 7, 8, 8, 4, 4, 0, 9, 0, 7, 4, 7, 0, 8, 8, 0, 4, 0, 0, 8, 4, 8, 8, 6, 9, 8, 8}

    610

    Returns: 97753

  16. {19, 1, 9988, 9996, 1, 9997, 9992, 9992, 9997, 1, 1, 9992, 9988, 19, 1, 9996, 9996, 9992, 9988, 19, 9992, 1, 9996, 9996, 9996, 1, 19, 1, 1, 19, 9992, 19, 9992, 9988, 9988, 9988, 9997, 9992, 9992, 1, 9996, 1, 1, 9996, 9988, 9997, 9992, 9997, 9988, 19}

    {0, 9, 9, 6, 2, 2, 0, 0, 2, 2, 2, 0, 9, 0, 2, 6, 6, 0, 9, 0, 0, 9, 6, 6, 6, 9, 0, 2, 2, 0, 0, 0, 0, 9, 9, 9, 2, 0, 0, 2, 6, 2, 9, 6, 9, 2, 0, 2, 9, 0}

    610

    Returns: 99911

  17. {1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0}

    {9952, 9794, 12, 209, 209, 9952, 209, 12, 209, 9952, 209, 209, 12, 9794, 209, 12, 9794, 9794, 12, 12, 209, 9794, 209, 209, 209, 9952, 9952, 12, 9794, 209, 9952, 9794, 9794, 9794, 9794, 9952, 9794, 9952, 12, 9794, 9794, 9794, 9952, 209, 209, 9952, 9794, 9952, 9794, 209}

    2

    Returns: 19527

  18. {0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0}

    {20, 5, 9995, 9984, 20, 9984, 5, 9995, 9995, 9995, 5, 9995, 20, 20, 9984, 9984, 9984, 9995, 5, 20, 20, 5, 5, 9984, 9984, 5, 9995, 20, 9995, 20, 5, 9984, 9995, 9995, 9984, 9995, 9995, 20, 20, 20, 9984, 5, 9995, 9984, 5, 5, 9995, 20, 20, 20}

    3

    Returns: 19956

  19. {1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0}

    {0, 2, 9999, 10000, 10000, 2, 9999, 9999, 9999, 10000, 2, 9999, 9999, 9999, 10000, 9999, 10000, 10000, 10000, 10000, 10000, 0, 0, 10000, 10000, 9999, 2, 9999, 9999, 0, 0, 10000, 9999, 10000, 2, 2, 0, 10000, 0, 9999, 9999, 2, 0, 0, 10000, 0, 9999, 10000, 10000, 2}

    10

    Returns: 19999

  20. {183, 905, 859, 976, 211, 694, 502, 21, 12, 985}

    {93, 87, 90, 19, 1, 0, 95, 7, 79, 40}

    2

    Returns: 82544

  21. {999, 3, 998, 0}

    {0, 1, 1, 0}

    100

    Returns: 1996

  22. {999, 0, 999, 0}

    {0, 1, 1, 0}

    10

    Returns: 2000

  23. {566, 566, 575, 1266, 1266, 1234, 585, 567, 570, 577, 1265, 1251, 602, 1214, 1265}

    {1257, 580, 1266, 621, 1251, 566, 567, 572, 1262, 568, 575, 568, 566, 1266, 1265}

    10000

    Returns: 0

  24. {1306, 672, 850, 967, 1188, 1293, 1037, 632, 814, 678, 1293, 1037, 967, 1188, 814, 1293, 672, 672, 1188, 850, 632, 850, 678, 814, 632, 678, 850, 1293, 1306, 814, 1037, 672, 1293, 1188, 967, 1037, 850, 1306, 1037, 678, 814, 672}

    {1307, 651, 1309, 633, 636, 913, 629, 730, 1301, 1095, 913, 629, 633, 636, 1301, 913, 651, 651, 636, 1309, 730, 1309, 1095, 1301, 730, 1095, 1309, 913, 1307, 1301, 629, 651, 913, 636, 633, 629, 1309, 1307, 629, 1095, 1301, 651}

    2

    Returns: 395900

  25. {1228, 589, 1065, 819, 752, 586, 1165, 628, 953, 1163, 576, 819, 576, 752, 752, 819, 576, 1228, 1163, 1165, 1065, 589}

    {1124, 1271, 1258, 629, 1273, 665, 759, 653, 1271, 750, 825, 629, 825, 1273, 1273, 629, 825, 1124, 750, 759, 1258, 1271}

    410980

    Returns: 0

  26. {1299, 623, 633, 1190, 611, 1308, 610, 740, 614, 620, 918, 1310, 1294, 610, 1309, 1309, 692, 974, 625, 613, 637, 692, 974, 1310, 1309, 623, 974, 1309, 974, 637, 1294, 1294, 1294, 918, 1190, 1309, 1309, 692, 623, 633}

    {567, 580, 1254, 1266, 1172, 1247, 839, 568, 621, 1250, 1266, 926, 1265, 927, 613, 1186, 1264, 567, 575, 640, 569, 1264, 567, 926, 613, 580, 567, 613, 567, 569, 1265, 1265, 1265, 1266, 1266, 1186, 613, 1264, 580, 1254}

    566

    Returns: 300228

  27. {701, 701, 693, 1, 700, 17, 1, 700, 700, 701, 701, 701, 701, 701, 1, 700, 1, 700, 1, 1, 17, 1, 700, 700, 693, 701, 701, 700, 17, 17, 700, 1, 700, 17, 700, 17, 1, 1, 1, 693, 700, 1, 693, 701, 700, 701, 701, 693, 701, 1}

    {7, 699, 1, 700, 701, 701, 1, 2, 2, 699, 7, 7, 699, 699, 1, 2, 700, 2, 700, 1, 701, 700, 2, 2, 1, 7, 7, 701, 701, 701, 2, 700, 701, 701, 2, 701, 700, 1, 1, 1, 2, 1, 1, 699, 2, 7, 7, 1, 7, 700}

    610

    Returns: 224081

  28. {810, 9697, 693, 3893, 7575, 8298, 1992, 599, 6405, 3077, 810, 1992, 3893, 1992, 1992, 8298, 7575, 693, 599, 810, 9697, 3893, 3893, 3077, 9697, 810, 3077, 8298, 810, 599}

    {3, 43, 6, 48, 3, 6, 45, 22, 1, 48, 3, 45, 48, 45, 45, 6, 3, 6, 22, 3, 43, 48, 48, 48, 43, 3, 48, 6, 3, 22}

    5

    Returns: 347883

  29. {9, 9980, 9915, 8, 9991, 13, 23, 17, 9979, 8, 13, 23, 9980, 9915, 9991, 8, 23, 9980, 9980, 9979, 8, 8, 8, 8, 9991, 8, 13, 23, 9980, 9, 9980, 8, 9915, 8, 8, 9979, 9991, 9979, 13, 9980}

    {28, 46, 49, 21, 32, 49, 0, 4, 0, 13, 49, 0, 46, 49, 32, 21, 0, 46, 46, 0, 13, 21, 21, 13, 32, 21, 49, 0, 46, 28, 46, 21, 49, 21, 13, 0, 32, 0, 49, 46}

    50

    Returns: 498556

  30. {2, 9999, 9996, 9998, 1, 0, 9999, 0, 4, 0, 4, 9996, 0, 0, 9999, 9996, 4, 9999, 0, 0, 9996, 0, 9999, 9996, 2, 9999, 9999, 4, 9998, 0, 9996, 0, 9998, 4, 0, 9998, 9999, 2, 9999, 0, 0, 9998, 0, 9998, 9999, 9996, 0, 0, 9999, 9999}

    {0, 46, 0, 49, 1, 48, 2, 7, 49, 7, 49, 0, 7, 48, 2, 0, 49, 2, 7, 48, 0, 7, 2, 0, 0, 2, 2, 49, 49, 7, 0, 48, 49, 49, 7, 49, 2, 0, 2, 48, 48, 49, 48, 49, 2, 0, 48, 48, 2, 46}

    500

    Returns: 499980

  31. {1753, 2893, 250, 8566, 5384, 162, 9536, 8739, 2893, 8566, 2893, 5384, 162, 250, 2893, 8566, 162, 9536, 9536, 250, 1753, 1753, 250, 8566, 1753, 1753, 162, 162, 8739, 5384, 162, 8566, 5384, 8739, 1753, 9536, 8739, 9536, 1753, 1753, 2893, 2893, 5384, 8739, 5384, 9536, 250, 2893, 5384, 1753}

    {9, 0, 2, 9, 0, 7, 7, 2, 0, 9, 0, 0, 7, 2, 0, 9, 7, 7, 7, 2, 9, 9, 2, 9, 9, 9, 7, 7, 2, 0, 7, 9, 0, 2, 9, 7, 2, 7, 9, 9, 0, 0, 0, 2, 0, 7, 2, 0, 0, 9}

    9145

    Returns: 568

  32. {9997, 9993, 74, 100, 400, 9898, 9978, 9653, 17, 9976, 9898, 9997, 9993, 400, 9898, 9993, 9976, 100, 9993, 9898, 9993, 100, 9993, 400, 9898, 9997, 9898, 100, 9976, 9653, 9976, 9898, 9976, 9653, 100, 9978, 400, 400, 9653, 9976, 17, 400, 9993, 74, 17, 9653, 100, 9997, 74, 9653}

    {2, 4, 1, 9, 0, 8, 0, 9, 6, 6, 8, 2, 4, 0, 8, 4, 6, 9, 4, 8, 4, 9, 4, 0, 8, 2, 8, 9, 6, 9, 6, 8, 6, 9, 9, 0, 0, 0, 9, 6, 6, 0, 4, 1, 6, 9, 9, 2, 1, 9}

    9897

    Returns: 574

  33. {9997, 2, 21, 9987, 9996, 1, 9996, 2, 1, 9996, 21, 9997, 2, 9996, 9997, 1, 21, 21, 9996, 2, 9997, 9996, 2, 2, 1, 9997, 2, 2, 2, 2, 1, 1, 9997, 9996, 9987, 9996, 9987, 2, 9997, 9997, 9996, 9997, 9996, 9987, 1, 1, 2, 1, 1, 1}

    {1, 4, 0, 0, 9, 9, 9, 4, 9, 9, 0, 1, 4, 9, 1, 9, 0, 0, 9, 4, 1, 9, 4, 4, 9, 1, 4, 4, 4, 4, 9, 9, 1, 9, 0, 9, 0, 4, 1, 1, 9, 1, 9, 0, 9, 9, 4, 9, 9, 9}

    9962

    Returns: 568

  34. {9633, 701, 9606, 5405, 270, 93, 123, 8819, 9651, 701, 5405, 8819, 9651, 270, 5405, 270, 93, 9606, 701, 5405, 93, 8819, 5405, 93, 123, 9651, 8819, 5405, 9606, 270, 9606, 5405, 9651, 5405, 5405, 701, 5405, 123, 9633, 93, 93, 5405, 270, 9606, 8819, 93, 270, 9606, 8819, 270}

    {4, 9, 9, 0, 0, 8, 3, 2, 8, 9, 0, 2, 8, 0, 0, 0, 8, 9, 9, 0, 8, 2, 0, 8, 3, 8, 2, 0, 9, 0, 9, 0, 8, 0, 0, 9, 0, 3, 4, 8, 8, 0, 0, 9, 2, 8, 0, 9, 2, 0}

    9478

    Returns: 608

  35. {9837, 179, 4, 145, 9984, 9990, 9858, 9981, 9588, 408, 9588, 9981, 179, 9984, 408, 9981, 9858, 9837, 145, 9984, 145, 9588, 9990, 9990, 9984, 179, 179, 9981, 4, 145, 9588, 9858, 9984, 9981, 9984, 145, 179, 9837, 9858, 4, 9858, 9858, 179, 9981, 179, 9837, 9990, 408, 9837, 9837}

    {8, 8, 4, 0, 7, 6, 0, 4, 9, 9, 9, 4, 8, 7, 9, 4, 0, 8, 0, 7, 0, 9, 6, 6, 7, 8, 8, 4, 4, 0, 9, 0, 7, 4, 7, 0, 8, 8, 0, 4, 0, 0, 8, 4, 8, 8, 6, 9, 8, 8}

    9857

    Returns: 604

  36. {19, 1, 9988, 9996, 1, 9997, 9992, 9992, 9997, 1, 1, 9992, 9988, 19, 1, 9996, 9996, 9992, 9988, 19, 9992, 1, 9996, 9996, 9996, 1, 19, 1, 1, 19, 9992, 19, 9992, 9988, 9988, 9988, 9997, 9992, 9992, 1, 9996, 1, 1, 9996, 9988, 9997, 9992, 9997, 9988, 19}

    {0, 9, 9, 6, 2, 2, 0, 0, 2, 2, 2, 0, 9, 0, 2, 6, 6, 0, 9, 0, 0, 9, 6, 6, 6, 9, 0, 2, 2, 0, 0, 0, 0, 9, 9, 9, 2, 0, 0, 2, 6, 2, 9, 6, 9, 2, 0, 2, 9, 0}

    9962

    Returns: 602

  37. {1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0}

    {9952, 9794, 12, 209, 209, 9952, 209, 12, 209, 9952, 209, 209, 12, 9794, 209, 12, 9794, 9794, 12, 12, 209, 9794, 209, 209, 209, 9952, 9952, 12, 9794, 209, 9952, 9794, 9794, 9794, 9794, 9952, 9794, 9952, 12, 9794, 9794, 9794, 9952, 209, 209, 9952, 9794, 9952, 9794, 209}

    9941

    Returns: 2

  38. {0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0}

    {20, 5, 9995, 9984, 20, 9984, 5, 9995, 9995, 9995, 5, 9995, 20, 20, 9984, 9984, 9984, 9995, 5, 20, 20, 5, 5, 9984, 9984, 5, 9995, 20, 9995, 20, 5, 9984, 9995, 9995, 9984, 9995, 9995, 20, 20, 20, 9984, 5, 9995, 9984, 5, 5, 9995, 20, 20, 20}

    9991

    Returns: 2

  39. {1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0}

    {0, 2, 9999, 10000, 10000, 2, 9999, 9999, 9999, 10000, 2, 9999, 9999, 9999, 10000, 9999, 10000, 10000, 10000, 10000, 10000, 0, 0, 10000, 10000, 9999, 2, 9999, 9999, 0, 0, 10000, 9999, 10000, 2, 2, 0, 10000, 0, 9999, 9999, 2, 0, 0, 10000, 0, 9999, 10000, 10000, 2}

    9998

    Returns: 10

  40. {183, 905, 859, 976, 211, 694, 502, 21, 12, 985}

    {93, 87, 90, 19, 1, 0, 95, 7, 79, 40}

    970

    Returns: 0

  41. {999, 3, 998, 0}

    {0, 1, 1, 0}

    1001

    Returns: 0

  42. {999, 0, 999, 0}

    {0, 1, 1, 0}

    1001

    Returns: 0

  43. {566, 566, 575, 1266, 1266, 1234, 585, 567, 570, 577, 1265, 1251, 602, 1214, 1265}

    {1257, 580, 1266, 621, 1251, 566, 567, 572, 1262, 568, 575, 568, 566, 1266, 1265}

    702

    Returns: 0

  44. {1306, 672, 850, 967, 1188, 1293, 1037, 632, 814, 678, 1293, 1037, 967, 1188, 814, 1293, 672, 672, 1188, 850, 632, 850, 678, 814, 632, 678, 850, 1293, 1306, 814, 1037, 672, 1293, 1188, 967, 1037, 850, 1306, 1037, 678, 814, 672}

    {1307, 651, 1309, 633, 636, 913, 629, 730, 1301, 1095, 913, 629, 633, 636, 1301, 913, 651, 651, 636, 1309, 730, 1309, 1095, 1301, 730, 1095, 1309, 913, 1307, 1301, 629, 651, 913, 636, 633, 629, 1309, 1307, 629, 1095, 1301, 651}

    681

    Returns: 0

  45. {1228, 589, 1065, 819, 752, 586, 1165, 628, 953, 1163, 576, 819, 576, 752, 752, 819, 576, 1228, 1163, 1165, 1065, 589}

    {1124, 1271, 1258, 629, 1273, 665, 759, 653, 1271, 750, 825, 629, 825, 1273, 1273, 629, 825, 1124, 750, 759, 1258, 1271}

    559

    Returns: 100916

  46. {1299, 623, 633, 1190, 611, 1308, 610, 740, 614, 620, 918, 1310, 1294, 610, 1309, 1309, 692, 974, 625, 613, 637, 692, 974, 1310, 1309, 623, 974, 1309, 974, 637, 1294, 1294, 1294, 918, 1190, 1309, 1309, 692, 623, 633}

    {567, 580, 1254, 1266, 1172, 1247, 839, 568, 621, 1250, 1266, 926, 1265, 927, 613, 1186, 1264, 567, 575, 640, 569, 1264, 567, 926, 613, 580, 567, 613, 567, 569, 1265, 1265, 1265, 1266, 1266, 1186, 613, 1264, 580, 1254}

    497

    Returns: 400274

  47. {701, 701, 693, 1, 700, 17, 1, 700, 700, 701, 701, 701, 701, 701, 1, 700, 1, 700, 1, 1, 17, 1, 700, 700, 693, 701, 701, 700, 17, 17, 700, 1, 700, 17, 700, 17, 1, 1, 1, 693, 700, 1, 693, 701, 700, 701, 701, 693, 701, 1}

    {7, 699, 1, 700, 701, 701, 1, 2, 2, 699, 7, 7, 699, 699, 1, 2, 700, 2, 700, 1, 701, 700, 2, 2, 1, 7, 7, 701, 701, 701, 2, 700, 701, 701, 2, 701, 700, 1, 1, 1, 2, 1, 1, 699, 2, 7, 7, 1, 7, 700}

    404

    Returns: 480345

  48. {810, 9697, 693, 3893, 7575, 8298, 1992, 599, 6405, 3077, 810, 1992, 3893, 1992, 1992, 8298, 7575, 693, 599, 810, 9697, 3893, 3893, 3077, 9697, 810, 3077, 8298, 810, 599}

    {3, 43, 6, 48, 3, 6, 45, 22, 1, 48, 3, 45, 48, 45, 45, 6, 3, 6, 22, 3, 43, 48, 48, 48, 43, 3, 48, 6, 3, 22}

    8305

    Returns: 0

  49. {9, 9980, 9915, 8, 9991, 13, 23, 17, 9979, 8, 13, 23, 9980, 9915, 9991, 8, 23, 9980, 9980, 9979, 8, 8, 8, 8, 9991, 8, 13, 23, 9980, 9, 9980, 8, 9915, 8, 8, 9979, 9991, 9979, 13, 9980}

    {28, 46, 49, 21, 32, 49, 0, 4, 0, 13, 49, 0, 46, 49, 32, 21, 0, 46, 46, 0, 13, 21, 21, 13, 32, 21, 49, 0, 46, 28, 46, 21, 49, 21, 13, 0, 32, 0, 49, 46}

    9979

    Returns: 66

  50. {2, 9999, 9996, 9998, 1, 0, 9999, 0, 4, 0, 4, 9996, 0, 0, 9999, 9996, 4, 9999, 0, 0, 9996, 0, 9999, 9996, 2, 9999, 9999, 4, 9998, 0, 9996, 0, 9998, 4, 0, 9998, 9999, 2, 9999, 0, 0, 9998, 0, 9998, 9999, 9996, 0, 0, 9999, 9999}

    {0, 46, 0, 49, 1, 48, 2, 7, 49, 7, 49, 0, 7, 48, 2, 0, 49, 2, 7, 48, 0, 7, 2, 0, 0, 2, 2, 49, 49, 7, 0, 48, 49, 49, 7, 49, 2, 0, 2, 48, 48, 49, 48, 49, 2, 0, 48, 48, 2, 46}

    9995

    Returns: 560

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

    {5, 2, 0, 0, 2 }

    2

    Returns: 7

  52. {0, 2, 9992, 9990 }

    {0, 0, 6660, 6660 }

    1000

    Returns: 16653


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: