Problem Statement
The distance that a citizen needs to travel from one city to another is equal to the Euclidian distance between them. A citizen can travel directly from one city to another if the Euclidian distance does not exceed maxDirect (since they can only carry a limited amount of supplies). Hence, if a citizen wants to go from the capital city to the center of the market then he may need to visit some cities in the journey to restock some supplies.
The king wants to reduce the minimum total distance that a citizen needs to travel from the capital city to the center of the market. He wants this minimum distance to not exceed maxTravel. In order to do so he will create some new cities in the country (he can do so at any coordinates not necessarily integer).
Return the minimum number of new cities needed to be built to achieve his target or -1 if it is impossible.
Definition
- Class:
- BuildingCities
- Method:
- findMinimumCities
- Parameters:
- int, int, int[], int[]
- Returns:
- int
- Method signature:
- int findMinimumCities(int maxDirect, int maxTravel, int[] cityX, int[] cityY)
- (be sure your method is public)
Notes
- The Euclidian distance between two points (X1,Y1) and (X2,Y2) is defined as the square root of ((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)).
Constraints
- maxDirect and maxTravel will be between 1 and 2000, inclusive.
- cityX and cityY will contain between 2 and 50 elements, inclusive.
- cityX and cityY will contain the same number of elements.
- Each element of cityX and cityY will be between 0 and 2000, inclusive.
- All cities will have distinct locations.
- To avoid precision problems, if the answer for an input is X >= 0, then it will be possible to build X cities in such way that the minimal travel distance between the capital city and the center of the market is at most maxTravel - 1e-5, and any way of building fewer than X cities will result in this minimal distance being at least maxTravel + 1e-5.
Examples
1
5
{0,0,0,1,2,2,3}
{0,1,2,2,2,1,1}
Returns: 1
Without adding new cities the minimum distance is 6. By building a city at (1,1) the minimum distance can be reduced to 4.
3
15
{2,6,10,14}
{2,6,2,6}
Returns: 3
2
15
{0,5,2,3,1,8,6,4,7,9,10}
{0,5,2,3,1,8,6,4,7,9,10}
Returns: 0
Sometimes no new cities need to be built.
2
5
{0,5}
{0,5}
Returns: -1
The minimum distance between the two cities will always exceed 5.
5
1500
{0,1000}
{0,1000}
Returns: 282
2000
2000
{0,2000}
{2000,0}
Returns: -1
1
2000
{4,68}
{0,1999}
Returns: -1
1
29
{0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,0}
{0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25}
Returns: 21
1
30
{0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,0}
{0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25}
Returns: 20
1
1901
{0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,1,0}
{0,320,1450,1090,813,394,69,988,1085,1140,404,444,640,1653,660,668,1997,1908,1845,446,499,1695,17,1571,1471,252,1037,459,1565,1390,1346,1005,1212,219,704,950,1819,460,1703,155,329,1485,1256,269,141,1149,1535,304,1434,1900}
Returns: 1872
6
1901
{0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,1,0}
{0,320,1450,1090,813,394,69,988,1085,1140,404,444,640,1653,660,668,1997,1908,1845,446,499,1695,17,1571,1471,252,1037,459,1565,1390,1346,1005,1212,219,704,950,1819,460,1703,155,329,1485,1256,269,141,1149,1535,304,1434,1900}
Returns: 293
36
1901
{0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,1,0}
{0,320,1450,1090,813,394,69,988,1085,1140,404,444,640,1653,660,668,1997,1908,1845,446,499,1695,17,1571,1471,252,1037,459,1565,1390,1346,1005,1212,219,704,950,1819,460,1703,155,329,1485,1256,269,141,1149,1535,304,1434,1900}
Returns: 33
216
1901
{0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,1,0}
{0,320,1450,1090,813,394,69,988,1085,1140,404,444,640,1653,660,668,1997,1908,1845,446,499,1695,17,1571,1471,252,1037,459,1565,1390,1346,1005,1212,219,704,950,1819,460,1703,155,329,1485,1256,269,141,1149,1535,304,1434,1900}
Returns: 0
1296
1901
{0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,1,0}
{0,320,1450,1090,813,394,69,988,1085,1140,404,444,640,1653,660,668,1997,1908,1845,446,499,1695,17,1571,1471,252,1037,459,1565,1390,1346,1005,1212,219,704,950,1819,460,1703,155,329,1485,1256,269,141,1149,1535,304,1434,1900}
Returns: 0
1
2000
{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,1999}
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Returns: 1950
1
1455
{0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1027}
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,1027}
Returns: 1445
8
1453
{0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1027}
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,1027}
Returns: 180
64
1453
{0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1027}
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,1027}
Returns: 22
512
1453
{0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1027}
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,1027}
Returns: 2
819
1453
{0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1027}
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,1027}
Returns: 1
800
1452
{0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1027}
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,1027}
Returns: -1
133
2000
{0,200,400,600,800,1000,1200,0,200,400,600,800,1000,1200,0,200,400,600,800,1000,1200,0,200,400,600,800,1000,1200,0,200,400,600,800,1000,1200,0,200,400,600,800,1000,1200,0,200,400,600,800,1000,1200}
{0,0,0,0,0,0,0,200,200,200,200,200,200,200,400,400,400,400,400,400,400,600,600,600,600,600,600,600,800,800,800,800,800,800,800,1000,1000,1000,1000,1000,1000,1000,1200,1200,1200,1200,1200,1200,1200}
Returns: 12
526
984
{2000,1999,1997,1995,1992,1988,1983,1977,1971,1964,1956,1947,1937,1927,1916,1904,1891,1877,1863,1848,1832,1815,1797,1779,1760,1740,1719,1697,1675,1652,1628,1603,1577,1551,1524,1496,1467,1437,1407,1376,1344,1311,1277,1243,1208,1172,1135,1097,1059,1020}
{2000,940,979,1017,1055,1092,1128,1163,1197,1231,1264,1296,1327,1357,1387,1416,1444,1471,1497,1523,1548,1572,1595,1617,1639,1660,1680,1699,1717,1735,1752,1768,1783,1797,1811,1824,1836,1847,1857,1867,1876,1884,1891,1897,1903,1908,1912,1915,1917,1919}
Returns: 1
160
1329
{2000,1999,1997,1995,1992,1988,1983,1977,1971,1964,1956,1947,1937,1927,1916,1904,1891,1877,1863,1848,1832,1815,1797,1779,1760,1740,1719,1697,1675,1652,1628,1603,1577,1551,1524,1496,1467,1437,1407,1376,1344,1311,1277,1243,1208,1172,1135,1097,1059,1020}
{2000,940,979,1017,1055,1092,1128,1163,1197,1231,1264,1296,1327,1357,1387,1416,1444,1471,1497,1523,1548,1572,1595,1617,1639,1660,1680,1699,1717,1735,1752,1768,1783,1797,1811,1824,1836,1847,1857,1867,1876,1884,1891,1897,1903,1908,1912,1915,1917,1919}
Returns: 2
60
984
{2000,1999,1997,1995,1992,1988,1983,1977,1971,1964,1956,1947,1937,1927,1916,1904,1891,1877,1863,1848,1832,1815,1797,1779,1760,1740,1719,1697,1675,1652,1628,1603,1577,1551,1524,1496,1467,1437,1407,1376,1344,1311,1277,1243,1208,1172,1135,1097,1059,1020}
{2000,940,979,1017,1055,1092,1128,1163,1197,1231,1264,1296,1327,1357,1387,1416,1444,1471,1497,1523,1548,1572,1595,1617,1639,1660,1680,1699,1717,1735,1752,1768,1783,1797,1811,1824,1836,1847,1857,1867,1876,1884,1891,1897,1903,1908,1912,1915,1917,1919}
Returns: 15
1
988
{2000,1999,1997,1995,1992,1988,1983,1977,1971,1964,1956,1947,1937,1927,1916,1904,1891,1877,1863,1848,1832,1815,1797,1779,1760,1740,1719,1697,1675,1652,1628,1603,1577,1551,1524,1496,1467,1437,1407,1376,1344,1311,1277,1243,1208,1172,1135,1097,1059,1020}
{2000,940,979,1017,1055,1092,1128,1163,1197,1231,1264,1296,1327,1357,1387,1416,1444,1471,1497,1523,1548,1572,1595,1617,1639,1660,1680,1699,1717,1735,1752,1768,1783,1797,1811,1824,1836,1847,1857,1867,1876,1884,1891,1897,1903,1908,1912,1915,1917,1919}
Returns: 983
2
982
{2000,1999,1997,1995,1992,1988,1983,1977,1971,1964,1956,1947,1937,1927,1916,1904,1891,1877,1863,1848,1832,1815,1797,1779,1760,1740,1719,1697,1675,1652,1628,1603,1577,1551,1524,1496,1467,1437,1407,1376,1344,1311,1277,1243,1208,1172,1135,1097,1059,1020}
{2000,940,979,1017,1055,1092,1128,1163,1197,1231,1264,1296,1327,1357,1387,1416,1444,1471,1497,1523,1548,1572,1595,1617,1639,1660,1680,1699,1717,1735,1752,1768,1783,1797,1811,1824,1836,1847,1857,1867,1876,1884,1891,1897,1903,1908,1912,1915,1917,1919}
Returns: -1
541
1581
{432,1383}
{88,1226}
Returns: 2
528
1021
{938,790,200,476}
{1110,1982,97,200}
Returns: 1
568
449
{922,1268,1806,1479,468,1336}
{1286,16,189,1243,440,1113}
Returns: 0
33
458
{603,402,1022,486,1379,1716,1400,1050,1474,218,760,431,171}
{1654,634,1877,395,1803,1681,712,1145,776,1336,231,302,1805}
Returns: 13
536
1243
{958,354,1342,48,1973,113,606,1664,652,1251,293,1532,1076,1800,369,1547,1495}
{1569,1216,152,1876,1240,61,1121,113,834,466,449,329,200,712,1279,972,570}
Returns: 2
384
716
{743,1034,921,1524,1586,1757,1406,1818,270,141,254,1106,788,852,1393,1843,1082,1148,649,1378,1602,978}
{789,1904,1016,2,654,494,884,419,766,1759,470,1934,634,367,1796,632,527,785,321,532,1663,1465}
Returns: 1
3
894
{1770,1923,999,1235,902,381,521,1341,834,329,736,380,422,866,1071,1998,885,1829,270,1108,1172,1397,1738,284,271,381,1247,1532,1104}
{203,502,1002,443,1139,241,1828,1369,1338,1083,1248,904,886,1585,768,1265,278,1456,768,1128,1304,326,28,1005,793,407,925,1603,799}
Returns: 297
1260
408
{1435,783,220,1313,221,380,230,717,782,447,567,1877,1361,261,1946,1641,1089,1314,219,1244,634,39,1629,619,404,1879,929,1438,1044,453,1293,724,167,923,71,1315,1391,1232,212,1883,917,118,682,823,1989,1447,841,1356,1667,1735}
{361,716,296,310,1575,1018,1323,534,249,989,1641,968,415,381,1404,953,987,655,1238,1742,1122,194,1922,171,992,553,341,376,359,874,677,668,516,1652,341,1447,287,1349,588,1376,505,1360,1410,1483,1644,484,1022,1101,1935,637}
Returns: 0
1
2000
{100,1512}
{100,1512}
Returns: 1996
2
1999
{359,1233,513,311,452,531,1120,282,202,96,424,626,135,1831,5,49,1244,891,303,273,210,442,341,589,371,844,849,245,8,177,59,879,647,1061,1248,748,108,915,161,407,6,438,756,715,46,379,1117,331,23,209}
{790,160,109,349,842,95,736,573,81,57,278,434,29,1196,426,1319,255,91,56,169,501,665,524,261,504,1417,13,1639,814,1514,428,94,103,174,1113,756,73,198,129,457,444,1914,396,74,791,124,382,51,155,58}
Returns: 373
40
1599
{1556,515,586,509,668,697,180,505,1696,1107,1498,1238,1650,1002,312,1167,368,299,557,1706,308,1761,1758,678,642,710,315,1396,194,1855,14,38,324,299,765,255,1958,1316,715,232,83,1298,32,690,585,1814,76,1401,1593,41}
{1295,1700,1074,521,839,415,744,522,1804,1752,211,578,232,1336,743,1986,1090,548,991,1362,572,79,1092,123,181,520,27,936,1839,1406,877,517,1448,703,1401,1734,48,1776,1050,704,351,421,1924,1419,1459,1983,1135,35,716,1011}
Returns: 37
27
473
{62,1596,1243,47,768,402,391,646,668,228,541,201,69,972,1654,135,352,358,419,628,734,659,1145,75,407,204,507,1362,352,151,16,82,279,863,161,14,1776,213,141,586,575,455}
{553,202,4,258,148,3,44,658,455,1128,550,575,285,88,1316,4,289,758,211,264,36,273,169,116,370,204,150,655,249,190,282,1734,161,7,204,45,111,556,417,432,560,815}
Returns: 17
2
1052
{585,1224,1108,1074,311,118,73,41,1490,1051,330,1597,1082,209,384,652,112,260,812,30,23,208,476,15,192,802,134,844,57,1583,272,214,108,1550,133,907,680,296,229,395,189,643,72,1316}
{756,319,622,252,944,275,41,741,166,1665,147,123,26,38,192,1187,281,205,1427,285,799,1520,25,1479,405,71,110,25,812,1094,401,683,29,716,1725,223,93,77,330,44,480,1260,1045,200}
Returns: 459
829
919
{585,1224,1108,1074,311,118,73,41,1490,1051,330,1597,1082,209,384,652,112,260,812,30,23,208,476,15,192,802,134,844,57,1583,272,214,108,1550,133,907,680,296,229,395,189,643,72,1316}
{756,319,622,252,944,275,41,741,166,1665,147,123,26,38,192,1187,281,205,1427,285,799,1520,25,1479,405,71,110,25,812,1094,401,683,29,716,1725,223,93,77,330,44,480,1260,1045,200}
Returns: 1
5
1031
{35,292,1565,644,1574,325,387,1041,356,770,1479,456,540,438,547,327,1307,1111,398,35,1141,1392,109,1176,60,882,1328,1971,971,628,292,1522,175,85,535,350,1688,1659,534,8,1862,175,14,563,122,203,986,1622,139,634}
{766,8,1297,1737,1818,1899,518,1198,1029,1870,1863,1730,1348,409,251,67,1752,238,1521,1053,436,1700,766,755,121,1858,1199,1510,1911,1112,325,1293,1908,1226,248,1562,1835,120,1215,43,1736,1642,798,1165,1120,678,1152,534,1285,1605}
Returns: 206
1
1281
{10,11,12,13,14,10,11,12,13,14,10,11,12,13,14,10,11,12,13,14,10,11,12,13,14,800,801,802,803,804,800,801,802,803,804,800,801,802,803,804,800,801,802,803,804,800,801,802,803,804}
{200,200,200,200,200,201,201,201,201,201,202,202,202,202,202,203,203,203,203,203,204,204,204,204,204,1200,1200,1200,1200,1200,1201,1201,1201,1201,1201,1202,1202,1202,1202,1202,1203,1203,1203,1203,1203,1204,1204,1204,1204,1204}
Returns: 1275
1
1280
{10,11,12,13,14,10,11,12,13,14,10,11,12,13,14,10,11,12,13,14,10,11,12,13,14,800,801,802,803,804,800,801,802,803,804,800,801,802,803,804,800,801,802,803,804,800,801,802,803,804}
{200,200,200,200,200,201,201,201,201,201,202,202,202,202,202,203,203,203,203,203,204,204,204,204,204,1200,1200,1200,1200,1200,1201,1201,1201,1201,1201,1202,1202,1202,1202,1202,1203,1203,1203,1203,1203,1204,1204,1204,1204,1204}
Returns: -1
1
2000
{400,1600}
{1900,200}
Returns: -1
1
2000
{2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
{0,1,2,3,4,5,6,7,8,9,10,11,1000,2000,1999,1998,1997,1996,1995,1994,1993,1992,1991,1990,1989,0,1,2,3,4,5,6,7,8,9,10,11,12,2000,1999,1998,1997,1996,1995,1994,1993,1992,1991,1990,1989}
Returns: -1
1
2000
{1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,1400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
{0,1,2,3,4,5,6,7,8,9,10,11,700,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,0,1,2,3,4,5,6,7,8,9,10,11,700,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400}
Returns: 1964
1
2000
{2000,0}
{2000,0}
Returns: -1
1
7
{0,0,0,1,2,2,3}
{0,1,2,2,2,1,1}
Returns: 0
1
50
{0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24}
{0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25}
Returns: 0
1
48
{0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24}
{0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25}
Returns: 2
1
35
{0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24}
{0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25}
Returns: 24
180
565
{1,240,400}
{1,160,400}
Returns: 3
180
577
{1,240,400}
{1,160,400}
Returns: 2
1
1901
{0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,1,1,0,0,0,1,0}
{0,320,1450,1090,813,394,69,988,1085,1140,404,444,640,1653,660,668,1997,1908,1845,446,499,1695,17,1571,1471,252,1037,459,1565,1390,1346,1005,1212,219,704,950,1819,460,1703,155,329,1485,1256,269,141,1149,1535,304,1434,1900}
Returns: 1872
5
246
{1,4,8,11,15,18,22,25,29,32, 36,39,43,46,50,53,57,60,64,67, 71,74,78,81,85,88,92,95,99,102, 106,109,113,116,120,123,127,130,134,137, 141,144,148,151,155,158,162,165,169,172}
{1,5,8,12,15,19,22,26,29,33, 36,40,43,47,50,54,57,61,64,68, 71,75,78,82,85,89,92,96,99,103, 106,110,113,117,120,124,127,131,134,138, 141,145,148,152,155,159,162,166,169,173}
Returns: 0
1
491
{2,8,16,22,30,36,44,50,58,64, 72,78,86,92,100,106,114,120,128,134, 142,148,156,162,170,176,184,190,198,204, 212,218,226,232,240,246,254,260,268,274, 282,288,296,302,310,316,324,330,338,344}
{2,10,16,24,30,38,44,52,58,66, 72,80,86,94,100,108,114,122,128,136, 142,150,156,164,170,178,184,192,198,206, 212,220,226,234,240,248,254,262,268,276, 282,290,296,304,310,318,324,332,338,346}
Returns: 441
30
129
{95,87,37,75,7,56,7,7,74,54}
{91,77,58,68,14,65,72,27,68,3}
Returns: 1
540
1240
{631,929,703,1945,810,223,1452,925,124,1130,1287,1179,124,1537,687,1160,1416,47,831,350,1041,251,611,448,784,12,491,122,1554,634,295,1955,1420,1722,1404,1936,1343,803,1146,1601,1699,252,1997,1861,251,1948,608,157,699,1807}
{1207,633,1896,825,380,1662,574,472,739,1591,799,1165,533,1448,316,1543,950,553,471,522,1702,713,1114,1605,1567,1724,1711,1641,163,284,1517,726,1750,86,434,1173,940,1486,121,846,1396,1455,1141,712,1686,888,536,1931,154,817}
Returns: 1
62
1241
{631,929,250,1945,346,223,1452,925,124,1130,1287,1674,124,1537,687,1160,1416,47,831,350,1041,251,1248,448,784,12,491,122,258,634,295,1955,1420,1722,1404,1936,1343,803,1146,1601,1699,252,1997,1861,251,1948,608,157,699,1807}
{1207,633,1458,825,1491,1662,574,472,739,1591,799,42,533,1448,316,1543,950,553,471,522,1702,713,1005,1605,1567,1724,1711,1641,1410,284,1517,726,1750,86,434,1173,940,1486,121,846,1396,1455,1141,712,1686,888,536,1931,154,817}
Returns: 18
1
2000
{0,1999}
{0,1}
Returns: 1999
1
5
{0, 0, 0, 1, 2, 2, 3 }
{0, 1, 2, 2, 2, 1, 1 }
Returns: 1
10
691
{1, 6, 16, 29, 38, 45, 56, 66, 80, 89, 104, 109, 115, 126, 135, 149, 159, 168, 175, 187, 200, 210, 221, 226, 236, 251, 264, 265, 278, 286, 299, 314, 319, 330, 341, 354, 362, 372, 376, 389, 399, 407, 423, 429, 438, 453, 455, 472, 479, 488 }
{4, 9, 18, 29, 39, 54, 59, 68, 78, 89, 98, 112, 117, 129, 137, 148, 164, 170, 176, 188, 195, 207, 215, 230, 236, 247, 259, 274, 281, 288, 303, 312, 323, 328, 338, 349, 359, 374, 384, 392, 398, 409, 422, 431, 443, 446, 456, 465, 481, 488 }
Returns: 48
2000
70
{500, 10, 30, 40, 0, 80, 120, 180, 200, 220, 240, 260, 295, 299, 300, 320, 400, 550, 590, 620, 660, 680, 700, 740, 780, 820, 840, 880, 890, 920, 940, 960, 1000, 1100, 1150, 1200, 1400, 1500, 1600, 1690, 1730, 1780, 1820, 1840, 1890, 2000 }
{500, 10, 30, 80, 200, 100, 600, 300, 800, 400, 900, 500, 1000, 600, 1900, 700, 1800, 800, 1700, 900, 1600, 1000, 1500, 1100, 1400, 1300, 1200, 1250, 840, 240, 260, 1850, 1740, 1790, 1840, 1900, 1400, 1200, 1250, 10, 1400, 1500, 1780, 1800, 1600, 2000 }
Returns: -1
1
6
{0, 0, 0, 1, 2, 2, 2, 3, 4 }
{0, 1, 2, 2, 2, 3, 4, 4, 4 }
Returns: 4
3
1600
{0, 467, 334, 500, 1169, 1724, 1478, 1358, 962, 464, 1705, 145, 1281, 827, 1961, 491, 995, 1942, 827, 1436, 391, 604, 1902, 153, 292, 382, 1421, 716, 1718, 1895, 1447, 1726, 771, 1538, 1869, 1912, 1667, 299, 1035, 1894, 703, 1811, 1322, 333, 1673, 664, 1141, 1711, 253, 868 }
{0, 1644, 662, 757, 37, 859, 723, 1741, 1529, 778, 316, 1035, 190, 1842, 288, 106, 1040, 942, 1264, 648, 1446, 1805, 1890, 729, 370, 1350, 1006, 1101, 393, 1548, 1629, 623, 84, 1954, 756, 1840, 966, 1376, 1931, 308, 944, 439, 626, 1323, 1537, 1538, 118, 82, 929, 967 }
Returns: 433
1
2000
{0, 41, 82, 123, 164, 205, 246, 287, 328, 369, 410, 451, 492, 533, 574, 615, 656, 697, 738, 779, 820, 861, 902, 943, 984, 1025, 1066, 1107, 1148, 1189, 1230, 1271, 1312, 1353, 1394, 1435, 1476, 1517, 1558, 1599, 1640, 1681, 1722, 1763, 1804, 1845, 1886, 1927, 1968 }
{0, 41, 82, 123, 164, 205, 246, 287, 328, 369, 410, 451, 492, 533, 574, 615, 656, 697, 738, 779, 820, 861, 902, 943, 984, 1025, 1066, 1107, 1148, 1189, 1230, 1271, 1312, 1353, 1394, 1435, 1476, 1517, 1558, 1599, 1640, 1681, 1722, 1763, 1804, 1845, 1886, 1927, 1968 }
Returns: -1
1
2000
{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, 1400 }
{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, 1400 }
Returns: 1960
5
1500
{0, 1000 }
{0, 1000 }
Returns: 282
1
16
{2, 0, 0, 0, 2, 4, 4, 4, 2 }
{0, 0, 2, 4, 4, 4, 6, 8, 8 }
Returns: 6
1
2000
{0, 1421, 1326, 1472, 131, 1569, 909, 1189, 1149, 230, 493, 1899, 437, 429, 1838, 1758, 1166, 258, 1353, 698, 1226, 772, 191, 875, 1151, 571, 1888, 1191, 1362, 891, 22, 720, 1778, 430, 1710, 327, 353, 80, 449, 1237, 650, 1215, 900, 1935, 1035, 706, 1092, 99, 1642, 1903 }
{1299, 542, 60, 1335, 760, 1650, 708, 147, 254, 798, 739, 141, 1264, 1661, 149, 754, 1118, 1195, 1808, 601, 1412, 209, 1908, 603, 683, 471, 1129, 1511, 458, 369, 1095, 1874, 1868, 639, 1143, 1189, 1133, 998, 362, 25, 1526, 911, 66, 316, 472, 1056, 1255, 916, 871, 1211 }
Returns: 1904
2000
2000
{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, 50 }
{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, 50 }
Returns: 0
1
2000
{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, 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 }
Returns: 49
1
2000
{0, 1000 }
{0, 0 }
Returns: 999
1
1400
{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, 1000 }
{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, 1000 }
Returns: -1
1
2000
{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, 1000 }
{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, 1000 }
Returns: 1394
1
2000
{1967, 1986, 1938, 1976, 1992, 1961, 1923, 1914, 1936, 1994, 1953, 1960, 1974, 1906, 1915, 1901, 1947, 1984, 1988, 1907, 1993, 1939, 1997, 1931, 1919, 1992, 1968, 1957, 1965, 1968, 1986, 1973, 1939, 1944, 1911, 1919, 1948, 1946, 1973, 1917, 1949, 1926, 1990, 1915, 1969, 1954, 1998, 1948, 1940, 1914 }
{1908, 1966, 1943, 1972, 1939, 1950, 1926, 1999, 1909, 1929, 1920, 1977, 1915, 1942, 1966, 1979, 1923, 1973, 1990, 1936, 1990, 1927, 1930, 1972, 1964, 1975, 1902, 1970, 1946, 1969, 1906, 1976, 1995, 1993, 1944, 1902, 1938, 1989, 1900, 1998, 1990, 1910, 1997, 1946, 1993, 1905, 1963, 1970, 1927, 1974 }
Returns: 84
100
2000
{37, 282, 307, 734, 273, 1004, 881, 1640, 573, 1605, 938, 102, 331, 1913, 120, 616, 715, 1170, 886, 559, 1818, 605, 1676, 783, 279, 1169, 325, 483, 1123, 1424, 1182, 378, 1013, 853, 1134, 1519, 1783, 845, 1996, 86, 1920, 355, 530, 1634, 1886, 1124, 1788, 1556, 464, 1905 }
{1677, 830, 1294, 1458, 1854, 326, 1126, 1415, 1907, 310, 404, 90, 1709, 1744, 1245, 560, 661, 782, 136, 271, 1803, 1719, 904, 1033, 1452, 462, 394, 599, 1017, 437, 168, 401, 1930, 1183, 1896, 1529, 510, 1746, 1701, 1031, 749, 1003, 1848, 271, 1709, 636, 290, 1215, 637, 1472 }
Returns: 16
1
2000
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 2000 }
{0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 2000 }
Returns: -1
1
2000
{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, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 1999 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
Returns: 1951
1
2000
{1720, 640, 1459, 842, 881, 1825, 1864, 483, 67, 580, 1888, 108, 1261, 850, 1260, 557, 656, 1962, 895, 154, 1457, 1118, 1963, 1721, 1449, 140, 1282, 333, 44, 1675, 750, 606, 563, 1981, 1633, 1060, 1807, 1450, 417, 1216, 381, 592, 501, 483, 451, 1026, 380, 1573, 1872, 1709 }
{1222, 1165, 114, 541, 1805, 773, 1758, 504, 1180, 611, 1286, 365, 851, 1642, 488, 292, 115, 727, 1345, 360, 782, 544, 923, 716, 384, 299, 840, 149, 1433, 866, 1270, 437, 547, 1625, 246, 1942, 819, 902, 1202, 625, 387, 439, 774, 1365, 1434, 1472, 1640, 142, 952, 1785 }
Returns: 563
3
5
{0, 2, 0, 0 }
{0, 2, 2, 4 }
Returns: 0
2
5
{0, 5 }
{0, 5 }
Returns: -1
2
12
{0, 0, 4, 4, 4, 0, 0, 2 }
{0, 4, 4, 6, 8, 6, 8, 8 }
Returns: 1
29
1400
{0, 324, 342, 8, 38, 85, 348, 2, 43, 33, 22, 11, 244, 333, 23, 9, 33, 34, 63, 90, 500 }
{0, 84, 823, 88, 90, 111, 2, 44, 39, 122, 53, 95, 44, 344, 93, 22, 2, 34, 23, 111, 256 }
Returns: 16
1
1899
{0, 40, 80, 120, 160, 200, 240, 280, 320, 360, 400, 440, 480, 520, 560, 600, 640, 680, 720, 760, 800, 840, 880, 920, 960, 1000, 1040, 1080, 1120, 1160, 1200, 1240, 1280, 1320, 1360, 1400, 1440, 1480, 1520, 1560, 1600, 1640, 1680, 1720, 1760, 1800, 1840, 1880, 1920, 1133 }
{0, 40, 80, 120, 160, 200, 240, 280, 320, 360, 400, 440, 480, 520, 560, 600, 640, 680, 720, 760, 800, 840, 880, 920, 960, 1000, 1040, 1080, 1120, 1160, 1200, 1240, 1280, 1320, 1360, 1400, 1440, 1480, 1520, 1560, 1600, 1640, 1680, 1720, 1760, 1800, 1840, 1880, 1920, 33 }
Returns: 1133
1
1999
{1132, 1610, 704, 150, 44, 1845, 1324, 59, 785, 478, 1717, 333, 1844, 1106, 1482, 1212, 1625, 795, 1231, 482, 528, 1178, 182, 1244, 1091, 394, 1254, 1761, 1076, 794, 194, 710, 734, 375, 1064, 1756, 1380, 1773, 676, 1496, 276, 144, 1622, 1449, 732, 951, 1107, 1819, 1271, 390 }
{503, 1691, 1957, 833, 1140, 904, 1682, 556, 812, 200, 1469, 1791, 411, 723, 1998, 1488, 352, 401, 456, 13, 1227, 721, 1772, 1189, 336, 49, 1594, 1452, 366, 1822, 1867, 493, 98, 1930, 1717, 1897, 1755, 779, 1909, 1249, 1702, 1120, 1486, 1914, 1127, 1505, 1049, 300, 1656, 472 }
Returns: 742
3
1000
{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, 100 }
{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, 100 }
Returns: 24