TheRealSamuel/LeetCodeProblem
0574
1 2class MySuite extends munit.FunSuite {3 4 test("test1") {5 assertEquals(Main.maxTotalReward(List(1,1,3,3)), 4)6 }7 8 test("test2") {9 assertEquals(Main.maxTotalReward(List(1,6,4,3,2)), 11)10 }11 12 test("test3") {13 assertEquals(Main.maxTotalReward(1504,1885,575,826,985,211,1552,941,256,1617,530,306,654,1064,1121,1875,1958,134,825,1203,1874,1795,848,1534,1944,57,1415,255,1484,21,1375,1196,1969,259,809,205,345,1430,1090,1480,1004,9,1945,1379,831,1854,1418,789,33,1105,1455,207,291,1735,1831,1158,250,666,87,1741,108,126,1849,1097,629,525,635,623,1737,228,1259,991,1780,833,185,1648,1261,895,861,1607,203,1638,1116,417,1486,1622,703,1775,1020,1497,22,241,1108,1638,1656,1771,692,579,1395,1291,806,837,845,847,1938,638,809,1081,2000,1024,96,1751,651,1867,814,681,646,133,622,1164,1467,154,1386,1095,1963,1808,529,1526,511,1405,1806,249,1295,1816,185,1927,995,631,1215,1655,791,815,900,1077,1923,366,250,887,1571,1035,300,1050,581,1873,1079,1349,1981,1355,231,1515,275,1884,1393,163,1746,243,176,555,1134,876,71,1574,222,750,933,451,1230,171,428,59,765,506,1427,442,1168,1387,491,445,452,1527,1561,121,1281,1022,1715,349,202,620,513,1601,103,626,834,371,1978,286,589,353,1406,166,1838,1624,1467,1547,957,1898,295,1863,1471,1734,447,29,984,477,1748,651,835,1800,794,1816,444,758,202,1979,768,1674,1633,593,391,528,1518,1367,1286,832,1479,1682,136,786,1463,121,60,709,1151,53,1990,1843,1708,1595,1601,1966,1618,1192,747,747,1717,7,1546,750,1688,22,1712,679,394,1624,444,497,939,1569,1984,750,18,789,678,434,1430,646,60,1841,1095,1432,1009,537,28,432,431,809,1758,627,193,1909,1273,1333,1545,197,147,604,1196,1439,821,488,994,365,1915,1681,1837,1246,1088,780,883,1873,1494,138,678,1033,210,1903,199,1382,38,1594,1160,1912,733,1899,1346,1416,1726,971,123,928,1661,1066,1748,599,1922,273,45,819,5,124,751,1393,1054,1884,465,572,1791,1913,964,184,740,1420,319,491,394,1337,996,276,611,184,524,1309,528,1408,370,1459,782,292,252,1384,913,1572), 3999)14 }15 16 test("test4") {17 assertEquals(Main.maxTotalReward(1016,642,410,1407,1134,492,1952,1603,1548,103,159,48,831,1373,504,401,53,1339,200,1743,1304,1054,1229,1664,1378,1052,1666,959,705,986,1120,19,332,459,438,1971,1504,415,1682,1451,457,1417,146,76,743,492,1992,1861,1302,1823,824,1839,755,484,621,372,628,860,1979,634,1326,1460,1212,1076,1188,490,802,1833,1584,1708,352,11,1787,706,903,1726,1468,1117,1500,1628,1837,1272,863,45,1876,24,1187,883,96,890,1572,170,510,575,870,1549,1807,175,1591,98,735,967,683,52,353,1581,1348,913,1340,602,328,1197,566,379,1397,1537,252,654,1520,632,31,1316,1573,752,1774,1227,1629,384,1338,591,118,1055,1087,490,1806,1392,1331,1332,1336,188,1902,1793,916,1221,1284,311,571,436,1752,890,747,1387,649,1331,1649,989,550,581,358,1807,982,784,1146,1508,240,1277,1743,1222,948,1594,24,468,1152,987,220,502,1275,886,847,1430,931,444,414,1910,1755,21,1969,1500,1423,343,1459,1790,433,82,574,483,1375,1546,991,927,1737,636,440,50,1442,1099,1125,336,1153,915,696,601,776), 3983)18 }19 20 test("test5") {21 assertEquals(Main.maxTotalReward(641,1407,1254,1405,1431,861,794,1979,1981,858,1199,838,863,1423,1588,1235,219,223,26,241,498,1379,1287,18,1392,676,1230,510,1356,649,1373,1321,995,1888,580,438,254,1902,424,618,1685,951,96,619,90,19,906,1226,565,357,338,954,19,1920,940,107,691,1495,173,282,1968,1820,1607,1096,315,1271,1999,1315,352,895,275,1472,1665,1514,442,1940,297,1408,322,1321,805,1696,1137,1909,446,1142,1585,1316,463,1720,1218,844,636,476,925,933,1426,1811,1174,662,335,93,1367,1963,597,1581,1937,368,450,960,1535,787,478,675,575,1103,283,1151,661,1867,1638,728,1433,1971,80,1090,1927,45,1876,1332,1497,855,1325,1738,79,1314,1190,333,280,145,1422,1697,223,356,600,847,550,625,1028,714,926,256,1846,787,1692,936,1728,1660,1889,813,343,950,107,1023,407,1386,281,1214,959,1116,1926,582,45,211,1331,1097,1260,955,1331,1079,329,1402,1941,1320,544,873,1282,929,1445,1740,475,1248,410,225,483,1511,1274,1129,569,1652,763,1180,1099,1164,1018,1415,1053,1978,624,144,395,500,396,1335,1642,149,186,981,767,188,272,82,953,389,293,122,998,1380,158,1173,866,1850,225,400,1470,908,1949,264,1146,530,251,1109,1981,179,1549,616,666,955,719,1774,1989,84,921,1646,37,1264,1035,966,17,1806,1306,1594,1336,1267,171,1761,1684,788,1507,1771,194,1929,837,822,1191,1009,1654,1299,257,1879,507,924,1605,1464,115,1585,357,459,1370,1314,1719,1333,1908,1233,1250,1006,1330,24,1377,816,1299,546,1961,104,787,748,682,91,1082,988,672,1271,1530,1463,962,526,947,1402,1428,1962,1890,310,1636,1647,1446,879,597,519,514,1014,1104,1422,377,111,1212,177,528,892,83,915,1079,1633,1975,1818,40,765,1796,1422,1642,1585,1861,200,790,1826,335,1959,851,885,263,722,1415,504,535,1453,975,1803,1371,118,1497,837,1146,1163,1177,562,118,1512,576,1490,900,457,1702,1724,190,1359,547,1518,13,1468,1342,992,1093,1536,616,1761,680,1157,365,1695,1629,720,1132,1728,1104,595,1624,1879,37,1591,377,680,1458,1096,103,1215,470,249,259,764,977,1102,1728,1022,1490,984,1488,1550,1688,228,628,1490,707,285,1213,1104,60,924,94,1637,1262,1995,654,944,668,1912,1271,191,143,1161,562,421,659,1897,1293,1305,407,1493,1499,214,1078,776,213,1950,1618,196,1971,1331,733,1363,1298,315,1034,737,498,597,1962,1706,1761,674,1693,1268,1764,351,1736,1735,497,1185,572,1929,575,1223,1418,845,1453,466,839,1604,486,1476,1283,847,1762,1758,1595,962,347,1447,962,509,106,175,1311,1251,416,958,108,1264,1394,1867,1147,1907,237,1400,1401,1606,1660,991,1526,1012,261,579,1654,1262,1617,96,820,734,1545,444,1695,849,1402,280,46,426,1298,1527,593,965,192,860,501,1713,70,1054,1289,1689,1174,1506,1615,603,197,1373,1277,1466,635,313,446,1501,1423,1998,1480,1669,1647,1265,1903,289,1101,1763,1530,1199,1,1611,1834,624,338,963,436,1724,1689,960,168,599,802,1008,58,148,1017,41,1208,352,975,179,833,362,739,1359,1509,1546,269,307,1661,1200,505,214,244,1251,1401,1023,1566,1367,1115,261,729,125,1080,673,1775,1501,526,923,733,408,905,1643,799,161,1083,1780,1940,434,1744,1676,999,1733,1432,784,1199,1284,199,1025,697,547,1666,1188,1041,1050,1891,856,600,1468,1585,112,1412,632,1714,45,57,1109,1187,1774,804,1350,231,1019,1394,1667,1489,836,893,1072,773,646,859,1714,902,1189,221,456,1265,171,1117,25,1763,94,1520,273,1957,347,109,477,1358,1448,413,1804,173,1818,998,256,352,1276,1068,565,970,1801,593,581,1067,855,1376,1401,362,796,659,223,1229,1529,937,862,364,12,1047,670,551,1341,1892,1660,547,574,1381,1467,1060,1381,1420,789,453,591,1548,481,402,43,1127,351,1008,489,419,873,806,763,1201,1056,1473,1021,1462,1569,1800,855,990,790,1090,630,1079,1357,502,1629,1788,1639,97,1535,902,776,560,1238,920,214,1148,1937,242,97,445,1189,631,1092,906,1534,348,687,1329,74,1336,1398,109,30,376,142,510,16,167,1134,1041,912,1807,1754,1490,762,563,1530,1595,1283,197,914,1244,1885,1440,1000,752,188,1413,161,503,1888,1949,1094,1920,1222,1438,1681,1586,444,1967,1655,1420,1678,596,1427,1404,947,1722,157,1711,561,1688,190,1186,1013,196,1574,837,195,1630,681,842,1520,403,166,555,1535,659,1970,350,297,1720,687,1188,1167,149,1090,906,1735,1037,234,396,1597,328,1840,1131,187,447,922,593,1480,363,1092,1815,814,1015,481,1663,1672,1266,479,1341,333,1109,1366,1193,988,1317,1240,1948,274,1799,1837,357,461,1700,1204,545,1007,197,52,793,1377,1439,705,1703,1189,1043,910,1767,355,433,1102,1235,1376,559,1321,1361,377,953,540,998,1745,1948,61,900,1464,1568,554,1822,1262,653,1196,1723,291,1826,491,1911,1672,680,1872,1235,931,1790,657,1036,1170,854,564,525,878,560,135,1716,179,1188,1070,1202,1407,907,807,155,1090,791,959,1343,1259,2000,115,725,1817,1685,997,1512,127,157,1678,744,1047,1300,863,366,670,104,1889,686,127,1214,1906,1506,204,1289,488,300,1909,465,1619,1397,1021,1343,751,559,548,169,1572,1590,1181,36,870,504,88,717,1166,683,524,968,1384,745,1199,1091,971,791,1527,1516,508,799,205,1268,716,1389,1744,50,1551,631,639,920,1813,1927), 3999)22 }23 24 test("test6") {25 assertEquals(Main.maxTotalReward(282,308,1135,1468,598,152,1399,536,1185,1970,1035,482,1976,969,1482,814,828,52,1130,1108,241,1482,645,1855,891,1215,1021,1459,1493,157,1072,427,395,1307,748,686,64,269,1555,615,1152,605,762,1754,1756,466,1420,1709,1213,1248,1905,1757,263,1247,1898,586,842,274,191,998,734,45,447,725,1255,143,288,1759,759,601,777,953,161,925,1164,1504,545,949,1143,1215,1928,45,304,1168,1038,6,1988,264,73,1584,25,683,1989,297,1829,226,735,1871,1107,102,944,1583,1058,1689,834,1335,678,1798,79,982,1140,153,710,1134,1089,1991,1772,1911,505,231,1106,490,974,1049,1087,919,1571,1414,1253,1430,881,1955,301,1689,1564,658,373,1577,83,763,1918,1631,1150,1875,673,207,1573,286,698,323,81,1342,171,687,1087,1605,849,794,1110,1648,500,247,1470,1454,1414,1457,114,780,876,1739,1880,561,1599,599,650,358,484,1735,1529,31,459,1921,1883,1706,1422,449,1174,1350,106,1645,1588,1069,1694,1030,1335,548,333,341,1844,143,150,747,1969,1245,1889,687,420,1778,640,1480,1093,237,1581,352,669,774,1669,13,1872,943,758,1159,1509,324,1516,1581,918,126,27,1561,454,983,643,1317,884,432,384,1906,803,1246,955,516,1134,473,1158,1518,305,1937,968,570,1620,1918,1222,584,756,1195,681,1714,1624,1844,1436,396,590,769,1316,44,409,1626,1176,1596,812,990,646,523,1393,1295,1765,1679,951,1644,694,1741,744,656,335,343,785,1795,1545,408,466,510,1026,1995,694,1037,1643,1456,891,1886,486,676,187,191,512,1202,754,52,84,63,774,1041,1859,1604,133,1028,1395,905,715,1024,157,1367,223,1088,822,1645,359,1525,1005,957,1760,1617,934,1359,1175,1391,269,1626,777,815,830,916,1296,71,1725,404,1469,1568,1359,1719,1422,1979,680,1185,977,266,1467,1793,1658,1415,1326,60,243,1532,354,87,189,1816,774,568,167,861,336,1533,1009,1771,334,967,365,464,590,779,1158,1902,1183,480,958,472,1972,1777,1156,694,1131,1949,1692,138,1261,1192,856,1834,1761,16,902,423,324,1954,847,195,1817,978,1242,789,1145,137,1012,1836,873,19,87,1915,263,1255,1370,154,1943,1723,1662,257,1977,1872,1199,512,889,981,1923,1336,657,160,996,1578,1851,1961,1743,49,1123,117,1218,641,1194,444,313,123,800,526,611,1577,609,1843,1411,402,1797,170,999,560,330,837,451,125,635,1802,1233,1642,1964,755,164,993,1300,1468,1837,1112,1722,706,1092,182,1315,1644,512,1761,1760,2,1798,52,1054,481,1484,497,528,1815,785,767,1146,39,278,260,650,1576,141,15,768,1127,1176,1738,1991,1330,1753,1544,1333,962,642,1186,649,1740,1590,1440,182,55,8,1648,939,1853,790,1800,385,1559,904,272,632,1651,1454,90,98,886,1763,819,1968,1964,300,284,1809,644,468,1141,558,109,1142,1532,237,1396,77,409,1814,1435,1389,1434,656,1537,266,609,387,1511,117,1239,487,388,1783,71,1593,7,1652,1774,681,714,1772,331,904,935,1849,440,1247,1357,1975,667,305,905,571,986,999,1983,270,1353,1578,488,55,1810,846,1328,232,131,1476,785,1639,1827,1654,100,51,1017,525,1467,546,129,1549,1343,734,1582,729,484,1106,658,230,1400,1585,374,434,180,1094,1038,447,1951,94,677,1917,1531,188,861,50,47,1273,1163,236,163,1411,1128,592,1341,479,688,334,1060,749,1830,815,877,510,1541,1943,863,410,1423,788,1724,155,1063,1803,251,274,233,1219,1138,1521,1332,43,1041,446,932,349,190,238,1039,686,1049,1052,977,1835,399,1445,740,25,198,1475,1119,1562,1565,63,505,883,1987,246,938,1489,1374,192,533,731,1196,321,1258,1145,1103,1656,566,588,555,1807,20,1100,1632,154,1526,1926,1487,30,1095,154,1524,921,531,1398,1783,651,1450,961,1481,1736,772,779,504,91,370,512,665,144,1395,720,1331,266,1230,1964,1470,1182,397,1744,824,746,1308,1376,565,716,1388,855,723,1679,1525,1540,1564,794,1786,1140,984,1056,1240,1463,1181,990,100,199,407,1547,1014,1876,466,1366,155,1850,1272,1290,1248,29,149,1121,501,1040,1543,253,1041,1374,786,1450,1730,979,1314,1545,945,1418,960,1113,803,329,916,314,1301,151,968,1707,1555,1663,665,381,1890,1014,665,931,365,962,1996,197,1593,1403,648,938,641,556,1494,1815,852,1507,1491,1661,1916,64,1514,281,535,1180,184,1122,11,931,64,1238,658,1628,492,214,1399,1105,287,1608,1485,1719,520,1474,159,1533,118,1542,1434,1381,172,896,244,166,1213,514,1739,1673,1006,1353,9,1826,1658,1878,1998,246,240,1134,1259,1268,438,1941,470,1251,733,1786,1909,768,516,1328,643,4,830,916,1355,895,1254,766,1090,886,1773,1177,373,1913,1513,408,872,1737,220,346,1344,993,792,1666,1856,928,1439,1383,475,467,1902,1622,1083,290,498,1952,413,425,778,1358,1070,218,1466,1552,785,875,703,1635,141,1550,418,187,1868,663,1926,758,137,1846,979,561,48,418,986,1057,407,1036,1309,665,184,1701,1323,1822,653,1635,250,1182,534,277,760,958,833,114,336,1221,1153,1133,909,1224,1258,302,1438,781,679,341,562,1239,1927,1872,1781,522,574,1438,866,405,459,895,1151,46,866,1285,761,1826,1998,1070,1527,197,40,136,1183,150,980,1064,52,1939,241,196,1734,540,332,795,1513,292,1690,986,892,1779,120,1542,988,397,52,1823,1503,76,565,1689,1287,588,1139,122,390,1038,1065,1718,5,1936,253,378,772,1840,1012,927,1931,1665,1995,957,1836,1613,1713,1390,1968,217,597,1213,300,1552,1617,1715,1907,1585,1519,549,1765,1107,1005,1143,367,1023,1231,1269,551,360,645,1369,1338,175,1115,1325,734,1129,253,1964,1010,1758,1206,1042,1648,545,296,1964,1088,887,1337,845,1010,1394,6,77,748,1479,404,149,678,713,1881,1493,1080,888,1984,1720,1588,52,303,809,961,181,1758,93,56,1097,1717,1103,1996,653,1661,1307,1851,1742,335,1560,1107,1665,187,1184,536,1565,1397,1070,1778,1143,631,1698,1586,1021,1903,885,648,936,967,670,627,1680,1539,641,816,1118,166,1636,898,378,862,937,269,1282,1420,1267,998,1987,18,493,509,147,1736,503,490,533,522,918,718,1464,1927,1940,1609,1151,330,231,1973,988,626,1913,929,1205,276,873,1701,1068,1839), 3995)26 }27 28 test("test7") {29 assertEquals(Main.maxTotalReward(1955,1332,1358,1305,1533,1717,1380,1917,35,1314,637,1873,894,1916,1457,1336,345,1790,974,1732,25,1057,652,204,96,1723,1252,1925,1540,77,1372,961,55,76,979,328,1965,404,854,585,1155,597,152,755,503,412,786,267,1137,212,1663,618,223,356,84,812,1003,1525,676,576,949,620,139,654,252,318,434,783,1760,1129,1789,1993,1923,203,555,1016,1642,1433,1273,234,372,867,1415,279,268,1383,714,1022,1585,1082,1493,1282,419,559,858,222,1993,677,863,1624,952,1652,652,1558,632,489,522,1187,962,230,804,1166,849,48,574,268,523,582,1880,233,1166,307,179,1771,1560,1809,1898,1583,52,83,1102,813,1424,1731,331,1789,1620,1344,183,1628,465,679,135,928,1887,1646,64,171,576,1679,1206,1692,79,656,1986,1289,1028,1368,617,1234,920,378,1967,97,1310,331,1929,745,616,1271,1662,1831,572,1212,137,1360,517,1071,1794,1239,1321,734,173,132,1240,506,1446,1649,943,1797,1156,1458,1097,458,1294,1355,1525,627,1298,983,1589,1385,257,986,1415,1142,1077,105,250,482,1676,1635,1363,914,1124,75,1893,1451,272,807,1088,1164,1031,1678,1363,897,183,784,1514,1578,1838,1042,863,34,1889,888,778,567,1197,1968,84,417,395,287,1933,1348,504,782,622,265,454,1147,721,1215,1376,1138,1485,1720,447,869,1723,180,593,1745,588,135,1806,1169,1972,1278,220,1244,1219,1353,538,1286,1132,1917,1812,1730,1445,345,1953,1245,534,530,1936,1100,236,21,1627,1437,1458,1724,1702,1528,1902,1915,1137,1599,1852,1727,1176,295,262,759,990,1865,50,1448,1867,460,919,1370,772,348,1935,1629,163,1215,37,482,352,445,1376,463,661,494,777,1296,1179,378,1067,1289,668,841,1643,1034,1372,1592,1420,579,1367,1395,1821,1982,1980,425,1301,856,1559,1738,357,1581,284,875,720,157,539,1811,1971,1154,619,1941,1172,1100,1990,207,60,404,848,1073,1139,1415,1074,1382,1014,1392,1330,949,1842,1050,843,998,1471,1111,1970,1503,346,282,1767,533,469,1801,826,1991,19,1343,1313,1409,1837,112,1476,929,571,1127,1173,1496,866,1968,1535,1022,1895,1579,15,1314,1779,584,944,1320,847,794,1927,600,1942,494,1065,537,1648,1535,1796,1527,1782,1048,1736,993,1901,1550,110,1661,1741,1301,127,218,1538,1558,1752,8,1657,1341,1159,1241,292,558,327,1394,990,104,442,678,815,1012,262,1548,184,1960,530,464,1534,154,133,1792,1120,808,1545,1226,291,149,1545,1746,1792,1730,747,269,1966,859,1264,479,823,1355,936,54,1178,90,749,1005,1707,1391,18,596,549,894,1223,925,649,1176,1161,104,1460,501,475,1725,365,1938,868,634,598,1675,1938,1239,906,1576,1722,910,665,1553,1520,920,699,1784,1113,1055,1946,1472,383,192,1886,1080,1348,1221,865,316,896,1939,1284,361,82,1194,1676,77,989,716,1834,1605,225,1640,1292,1772,1193,1492,589,878,1921,657,99,886,218,835,1903,48,1631,940,1432,1787,1720,36,1995,1621,1498,1890,1955,1503,1515,1204,578,1740,824,503,1521,1904,211,1542,1059,441,1574,1566,537,955,230,1216,1855,670,166,593,47,581,994,1315,1669,7,1268,933,1400,1484,1975,1791,1727,818,1987,252,1090,1585,614,1705,1030,958,373,977,1081,368,1884,975,1538,1392,286,1350,1106,1014,753,1775,1136,677,1082,1255,798,861,1513,89,399,367,408,741,450,1940,1513,1697,1872,411,912,678,398,317,1266,736,1986,426,1199,1519,443,898,792,1463,75,58,1104,873,50,145,1195,604,221,67,1929,1641,21,1452,319,1501,137,1853,813,1517,373,816,1255,1190,784,900,589,224,588,616,323,1883,1335,515,698,1486,17,1169,1138,743,1822,1223,1212,1655,1582,1973,322), 3989)30 }31 32 test("test8") {33 assertEquals(Main.maxTotalReward(1028,65,143,578,1692,733,12,761,199,242,1380,1834,1818,873,1568,1624,1467,1535,705,438,336,1135,231,1176,606,863,1629,1194,38,997,1340,410,1066,943,1407,1843,45,1465,1018,103,1543,522,479,234,1212,1124,1549,1828,1652,470,669,539,221,677,615,1113,998,869,875,728,1976,668,1789,934,469,733,1014,1570,396,1902,1513,492,1255,542,1327,1144,877,87,881,1320,649,303,330,157,1900,1746,1009,587,790,1778,1197,1630,616,935,1732,1189,795,431,579,237,319,1854,1615,722,1318,202,1630,1381,408,1170,93,1553,569,1748,1246,313,1905,1298,1139,715,377,460,449,540,717,147,1838,1074,562,1496,1613,1608,1044,451,1206,856,364,1310,751,726,1434,261,200,10,451,926,334,287,1402,1330,1204,672,1780,1410,1386,957,444,1715,1524,1932,1738,727,1293,910,1874,688,1143,151,72,1201,388,1530,1723,469,450,734,135,1490,1831,603,854,1853,1930,324,624,1073,1631,1322,54,574,476,979,570,905,150,1405,384,465,792,1086,155,278,147,1250,511,1530,97,851,200,420,1570,1658,1565,306,232,1202,1821,1385,1358,881,999,496,1586,177,56,1248,1682,1702,9,437,1187,1073,692,1487,1446,1910,1832,1103,812,1366,32,699,58,1749,1279,974,188,1644,313,1401,882,1860,395,1724,1663,1991,1758,525,98,1313,1420,136,1269,1979,976,1089,483,1146,1592,651,532,1213,413,142,1692,1364,1298,1457,293,1732,1263,1677,1211,339,1535,259,552,902,1521,864,335,547,1811,1058,845,774,710,566,1904,1543,384,99,1589,1667,1564,1909,1009,1795,939,570,1999,1747,449,948,1225,2,1041,1187,940,7,1648,1454,1363,1630,767,540,1508,1896,1329,249,1272,56,155,844,830,1474,1166,297,1906,1185,768,977,776,1841,1065,572,780,873,1017,671,1656,746,92,132,1805,966,1472,1631,711,1575,1792,1731,744,610,1302,1432,1062,707,1510,948,1468,1381,1263,600,436,552,1118,701,36,1829,1979,627,1882,145,869,423,319,1768,1910,1363,1503,226,1285,762,1779,1394,300,1838,361,639,40,120,785,346,820,225,862,84,1014,1573,1786,1001,1622,887,793,577,169,1571,1384,787,705,818,889,387,832,417,1751,1750,876,870,1204,189,1867,1253,865,1886,447,19,899,215,1150,191,597,1877,1106,238,1847,1203,1099,317,1425,473,1119,914,1890,1694,1843,769,1035,1838,348,404,1230,1299,269,1122,43,1660,105,128,1571,737,703,1181,1405,254,453,366,1171,1032,1787,964,594,715,958,481,939,1105,911,269,1737,1302,1015,1436,559,1300,546,7,889,787,1340,1557,1733,804,328,866,1132,1872,293,536,423,426,957,987,1860,222,1775,658,1134,1446,1215,1662,1284,1883,1764,1946,195,1194,196,1330,1270,165,525,1261,1618,225,1685,32,1516,1145,1726,1540,637,805,1439,181,387,1525,421,39,261,328,1189,287,418,1677,297,989,627,1672,620,930,808,456,1939,917,1738,1388,1847,1093,1619,246,1990,1701,1407,494,343,536,284,1312,904,770,1230,1537,1129,421,484,1780,1639,1775,144,976,1844,474,1987,1759,128,1199,536,1026,87,1558,291,635,1024,1948,230,1636,889,1686,458,618,1369,908,1354,537,1710,606,749,904,272,1179,1625,83,880,1855,744,1301,1949,209,1305,1220,430,1014,468,1921,1022,1376,1824,1085,1889,422,487,1264,1082,340,36,192,1329,1432,1364,496,1692,1870,612,888,181,993,795,1083,665,1702,152,1426,1106,111,1312,1104,1822,867,1453,1517,1197,854,1321,205,775,494,417,1586,1851,445,1845,1175,509,1366,701,192,1195,1455,273,1441,550,1815,1346,368,1804,244,1564,576,547,155,916,352,474,1379,1791,362,674,1565,1745,227,1054,1789,1536,1673,1264,1925,1222,1446,1914,1145,1047,1560,518,722,1028,439,1591,1127,1360,11,72,1758,1734,937,735,1667,851,264,115,378,203,1673,1124,850,1703,344,743,615,841,893,369,1250,535,1853,1983,1864,1628,391,1618,382,1507,1400,1413,1451,1189,534,651,1210,713,1268,931,884,750,223,1296,939,1384,1599,394,301,185,390,1242,316,1155,1223,1686,1959,2,1903,1327,925,977,935,436,1628,294,1062,638,612,687,1019,1944,709,1885,1149,999,1145,658,1748,775,1620,793,713,719,1020,517,1788,707,1541,248,36,1927,1097,773,1493,639,1517,252,767,1043,1048,811,953,1079,631,1414,1413,905,811,1549,1392,811,455,1813,1109,99,1616,1546,1166,366,922,1154,1216,1345,1203,569,1238,1110,57,565,1276,1263,1380,1397,1834,1155,516,1727,1606,1413,1540,1821,931,1544,1906,264,462,1816,374,1849,157,1557,1142,1399,1722,968,911,412,1061,309,140,543,1080,1139,550,1403,673,1710,1061,980,1476,1738,228,1920,1093,1322,770,1276,1291,119,1557,1310,1514,1347,1005,674,83,1705,1471,529,152,1427,1755,1640,68,549,430,528,1248,300,894,41,747,1549,620,1949,1783,1948,1281,949,1241,101,165,1068,6,979,102,1857,1796,1915,1600,1441,738,646,1057,1154,1301,742,978,833,1458,1320,1521,1970,218,356,603,1806,1816,481,571,955,713,205,655,1898,512,1589,399,589,1683,906,574,828,334,195,1073,1234,209,220,1346,625,407,1094,1572,855,190,566,531,1649,503,1685,1629,1278,1460,1022,111,1181,607,424,149,1792,1137,1743,1704,1922,1801,1522,1487,1848,1172,375,1649,624,1403,1728,345,1603,1718,1144,1180,550,787,1829,314,1530,1121,1462,1997,616,481,1675,1689,834,1950,1892,1650,1261,740,171,1099,753,1687,1969,258,1133,1023,1879,1360,1325,54,905,389,1411,1552,313,559,176,780,1659,942,1422,1512,1210,872,271,1108,1646,1876,810,1163,1986,1031,792,1880,1744,1025,6,1028,1802,68,716,1182,1025,650,284,1383,1043,1611,1012,1788,1982,499,550,1430,1069,693,752,752,192,454,381,1379,1096,1180,1242,96,169,30,1154,402,967,425,190,1340,1594,1931,457,1855,1241,448,542,280,1001,1005,1756,1710,287,1699,1724,1540,1688,150,493,196,2,777,191,393,85,856,577,307,1595,642,54,173,370,1803,346,1262,161,1162,1957,1451,278,1220,1291,1858,820,266,289,881,538,1930,566,1679,610,1979,1796,1667,1504,1437,1431,375,866,907,1708,1372,1381,868,324,1166,131,1785,1928,825,1468,1362,1912,1082,52,990,819,1307,978,1405,846,1549,262,1964,212,974,1868,1203,107,166,1164,244,13,1943,828,559,419,416,686,1998,927,1164,621,1253,1158,478,21,1982,1522,1795,1209,402,864,1309,721,268,750,765,1049,1629,5,602,520,157,105,685,757,1558,1781,61,1363,523,245,265,607,355,199,395,1675,596,741,1269,70,1584,232,1330,118,948,1519,1154,597,281,960,873,1850,666,613,1308,306,1390,691,544,47,120,1007,1139,1744,602,259,1299,1261,2000,219,676,1685,160,1822,1259,1267,1085,547,1461,644,1474,28,5,615,1263,1185,1001,223,454,1175,1550,1455,1941,1850,307,1016,661,1891,809,1400,1280,1494,1911,465,900,1430,73,840,245,116,971,1626,148,1565,391,298,1846,982,914,171,1161,263,301,985,1284,1617,1357,903,64,1763,987,1305,938,1188,1742,1928,1576,1080,249,875,288,707,501,1074,763,739,1868,1593,1599,485,499,241,1496,1584,287,622,748,792,201,869,141,1945,731,1952,1609,216,6,1146,315,343,1232,250,1479,354,1062,1395,1166,1776,1076,1835,1410,1142,632,1474,1244,1499,775,999,444,982,611,1911,101,882,596,556,1089,1928,198,343,1003,1137,983,1380,1090,590,1347,62,1298,1673,358,1258,791,637,974,847,655,551,770,1442,1314,826,596,297,1196,598,1703,1975,1775,931,1994,1680,1708,1072,117,221,1010,1997,1016,1053,477,1306,805,1292,171,486,853,152,465,1404,332,1979,1539,1252,998,1639,832,93,949,1496,949,377,327,1354,390,1839,1546,1077,760,92,455,1106,705,1073,191,1344,1767,722,594,1518,1769,639,1437,1325,1312,1352,1410,1559,1920,1159,789,1525,464,745,1604,127,1551,1336,481,83,129,1983,1862,155,2000,1996,516,831,763,1245,1999,46,1317,657,1109,1624,1500,1829,982,1185,92,1959,1025,1592,193,1636,106,1667,1806,1254,1909,518,873,1776,470,233,435,1227,387,694,1011,166,690,554,1136,1743,144,866,1165,1183,961,610,227,1572,126,460,995,972,1430,1064,703,1785,850,609,444,1130,1847,382,129,157,511,624,1499,610,1433,1304,1005,949,1654,1687,885,1787,1381,950,843,869,419,1695,1854,847,639), 3999)34 }35 36 test("test9") {37 assertEquals(Main.maxTotalReward(316,705,356,1618,1596,957,577,1764,1864,545,1860,37,600,569,1734,1678,1095,1155,806,1540,673,1259,797,1172,458,10,808,1382,1334,1839,1322,792,768,1665,1649,825,1470,854,764,900,1053,39,805,196,625,863,317,1837,993,1106,1286,968,798,1557,1114,155,1786,795,406,1654,1932,735,1026,1281,1717,876,1928,1278,998,1659,333,1579,639,728,454,771,171,1643,428,577,657,1088,1071,862,1012,226,700,1884,608,169,1034,849,556,1211,1370,183,1387,252,1345,126,928,1094,1316,1917,1395,1423,1349,1414,1374,1112,1493,1478,1732,673,416,1803,341,148,1880,60,1957,748,1609,160,359,604,205,94,547,565,129,292,1564,1551,51,719,296,1103,1924,930,734,905,1610,1081,949,1485,1375,1062,274,1865,261,1160,1787,528,1085,902,564,132,579,853,292,776,1948,980,1294,869,947,1319,818,939,88,1848,1043,1351,1607,1385,373,788,850,229,74,1464,1476,800,1918,397,1743,1041,121,54,1176,708,1915,1256,491,608,636,64,1111,1384,109,1004,1179,1277,1288,358,1204,1679,814,1848,1517,583,1865,500,1174,1780,496,578,264,525,771,1037,1551,1254,1651,1791,1794,1549,12,354,313,1925,351,1320,1429,1294,121,739,1409,448,1556,1023,684,1167,681,1053,1552,68,661,774,570,1135,3,1714,1382,1360,1332,1792,638,1518,1407,152,891,309,974,1961,1639,1776,1886,1066,1292,570,1403,635,595,341,1300,1956,1583,1649,1448,1487,349,1605,988,626,1453,193,322,1348,1343,108,584,251,1971,87,1031,527,709,824,669,1970,1325,112,1519,1579,88,735,845,1761,909,1200,798,94,437,357,544,857,628,1740,870,1432,797,1612,350,1601,1602,1426,529,94,95,494,610,1503,917,991,966,835,1230,516,212,1585,795,526,1086,259,1500,417,1176,336,1318,837,905,301,1883,627,1919,1101,1047,294,1875,965,541,850,1755,1679,521,1663,249,1926,708,1621,1394,791,1154,1692,1287,190,89,796,97,309,1851,421,1156,338,1109,609,1758,617,1387,1451,356,648,454,1672,715,1663,911,680,1346,1914,1549,364,344,1370,1074,1267,369,420,1588,1072,676,1827,419,601,1385,423,1330,1200,708,985,1679,1384,1190,994,907,1280,43,1626,753,30,686,895,500,1434,766,1668,1485,612,1079,1226,1180,1252,255,380,722,1713,1734,536,615,521,77,1878,449,163,925,561,485,609,1389,1762,1534,1423,633,771,144,1896,1250,652,1771,1340,883,994,1156,387,637,1873,1836,288,1638,551,1558,327,102,1821,1691,799,1698,528,1398,1929,1105,99,1827,1657,166,1639,1377,1165,410,1441,128,1796,853,1263,201,703,1739,1111,1958,1369,1144,1252,75,689,643,744,1904,1867,1217,1811,626,1843,1919,1699,1223,1957,1081,972,1240,185,298,110,938,1115,948,752,1280,1369,533,1219,1385,472,848,152,414,1562,838,1622,955,858,1863,127,671,1610,1780,608,932,1817,358,508,933,581,818,310,345,35,878,1763,310,1701,1595,1612,610,1079,157,161,1731,277,989,1775,1650,659,929,1841,1939,457,288,93,532,262,1321,1725,894,21,259,1875,1479,118,1866,731,1748,1874,682,1664,1475,183,1761,223,466,582,1927,1286,1523,1058,1154,1717,320,1232,1629,121,319,583,622,806,620,33,929,1973,1601,1278,1274,919,1180,421,521,206,751,1556,1377,1354,117,311,168,819,506,1772,711,1304,886,351,1028,1389,1304,454,800,42,1005,533,1460,51,1747,1225,433,1397,1204,15,904,712,1369,1303,13,1258,304,491,1784,344,1198,609,904,1136,1482,1766,940,964,131,936,413,1442,67,1003,609,946,1217,1896,1594,324,1975,1896,981,1246,131,607,1551,48,833,1952,1530,1059,126,1038,1028,1020,1280,1399,1120,1242,1739,1623,949,1152,1204,1341,196,1486,8,1953,1731,1861,140,1336,1404,1681,248,80,89,358,577,1527,595,782,457,1636,1250,1487,912,945,1873,1085,941,1615,1672,1263,705,1448,407,1970,1859,1973,1952,117,683,664,91,1139,1982,18,926,1564,1454,1343,1608,244,307,444,803,255,1995,1279,1112,412,1961,965,1657,1318,174,599,1946,875,475,1651,1444), 3989)38 }39 40 test("test10") {41 assertEquals(Main.maxTotalReward(1763,1695,802,1316,1245,1643,914,432,1171,737,1899,1651,177,196,1469,383,464,1794,1082,396,630,1906,1706,575,785,1115,1653,643,1885,443,1442,139,1582,1270,165,1999,990,1985,943,1071,1271,160,1592,110,666,257,1513,420,1354,1849,1486,1409,836,1105,1258,539,563,1675,1721,1383,682,1370,870,1886,649,1849,1606,1012,1990,811,878,103,1789,1056,1076,164,490,1201,1733,426,766,1940,1450,1599,765,965,814,1017,1658,992,1091,205,296,465,335,1329,1227,83,662,1891,551,700,256,1956,1422,677,1590,795,1535,310,731,813,1473,1236,1942,1709,1371,1559,827,1342,931,1961,1012,859,1224,961,813,1333,1832,1954,1607,1136,700,928,86,1437,2,120,1343,1161,1578,578,468,1749,565,1333,1473,1759,1274,1723,1736,1944,1797,189,1618,700,952,1314,1304,1850,638,1602,1786,828,1686,1855,384,1144,707,1270,1172,1156,1367,1999,1922,646,1423,296,607,1033,219,711,15,905,1314,1681,29,182,1026,1798,1390,350,176,1373,1065,592,956,1592,1444,1941,991,959,984,675,1820,1377,599,265,564,1336,995,547,1786,646,741,1239,217,1479,1341,1579,327,964,1446,83,1882,87,388,75,841,1310,178,1701,835,1640,15,687,1988,359,1064,1605,1573,447,380,314,1154,332,1448,899,550,1709,1086,507,10,1187,1413,1626,1240,1258,700,708,1700,213,682,1216,1866,747,843,1843,1998,624,806,825,998,212,1164,657,1353,636,1406,646,1189,1246,1381,166,789,1083,1914,918,277,1522,701,385,826,1354,142,1442,1599,19,650,275,879,716,53,727,802,1263,559,1906,952,1340,1333,1203,603,183,1694,1169,1408,1060,305,727,57,240,113,1830,965,917,1417,747,503,1107,810,528,605,279,1011,1060,1706,903,1547,1878,1707,1190,774,1449,53,704,1765,568,1634,1890,251,1756,1094,1163,1418,524,330,1545,1948,1650,1229,661,161,1696,1758,20,511,1989,795,1563,110,1260,1815,651,667,725,1281,842,1226,567,451,701,285,508,274,856,352,483,1109,426,1576,276,422,1637,187,1537,1709,186,448,215,1915,1221,718,1853,931,566,1530,1617,1620,577,1956,457,694,1352,746,1234,424,1137,199,946,1862,67,1322,66,309,452,1058,1660,1215,1368,404,668,999,1914,1231,683,521,579,1005,403,769,1436,502,866,186,342,543,1314,1905,1220,614,1337,1901,301,1475,1290,386,1761,1656,800,769,1752,1059,752,1758,259,625,1462,1937,1908,1693,611,1476,1691,655,641,1874,1924,1168,1920,353,713,260,1653,53,1544,492,421,714,1171,80,1354,1288,1657,1550,1154,762,846,958,908,247,730,1758,41,646,736,217,987,1235,569,273,725,685,177,296,648,1240,1061,529,464,1256,738,568,550,1155,698,898,233,336,1498,1263,1687,1456,72,327,583,1838,903,1804,504,1097,696,687,691,1137,1164,834,1869,3,1881,857,585,843,337,1445,1590,1968,26,1880,1576,1499,940,862,256,1921,197,9,1998,991,468,865,1620,237,493,1334,28,649,1380,1191,1717,1972,1486,871,1865,1802,1521,262,527,1993,1075,1318,819,168,1640,1103,1391,1195,1947,1253,249,1379,1730,639,1823,690,1612,173,279,949,622,391,1517,824,1337,1478,1720,908,1217,434,1340,787,1313,670,35,61,233,1654,351,7,149,1863,118,1354,730,1776,283,930,1902,266,1413,921,1857,1918,568,46,335,1124,348,845,589,1344,362,932,1852,1812,1120,636,1422,1389,845,88,108,495,1807,298,942,1818,111,1524,908,1342,1135,243,882,1877,314,1725,698,1554,1436,1381,1108,1360,1153,578,1993,106,1385,1510,1471,862,654,5,474,1128,887,587,1830,1439,473,260,807,200,1770,724,1308,751,635,270,950,494,746,901,263,1276,880,1993,1200,1335,1949,1714,557,1705,824,1431,662,1683,629,1887,1977,660,1088,356,1860,1330,1294,1759,1012,1715,515,1736,245,537,1180,862,876,99,1058,368,1337,757,1977,764,626,753,552,1507,214,1055,20,29,100,782,178,1363,236,1272,468,1702,1968,1555,199,574,84,523,1527,1894,1589,1094,1551,1553,229,884,1548,1630,440,772,664,1219,411,1762,281,1412,1962,273,643,602,121,624,960,1192,853,401,1561,1905,1689,475,1801,1545,364,174,1691,480,275,1297,1117,1494,106,832,1269,1094,1003,1502,416,1094,1678,19,1201,1675,815,389,1840,473,1224,128,1138,462,1070,1754,712,4,1238,1933,33,1449,104,1314,1290,843,1299,1223,507,1439,1288,410,348,1533,74,1625,257,1537,690,395,1131,448,1106,1831,886,574,1400,759,233,730,635,270,177,380,1256,1618,315,1378,406,1051,713,577,1803,649,1879,1144,373,167,115,112,1993,500,1899,1728,358,1383,808,740,1233,1908,1356,1731,358,1593,274,539,1754,250,417,1906,718,378,182,698,1684,528,1503,837,880,1047,768,1165,415,1133,914,1684,1859,1358,445,1552,1671,1684,1755,730,449,32,397,758,727,1388,1209,214,1340,1284,717,213,156,209,1688,1762,1275,266,1087,857,195,835,1613,761,189,364,1297,1930,1380,198,1525,742,765,1621,1836,1489,586,1680,1330,1601,631,1874,545,1264,1317,746,1089,1954,286,1647,1395,1276,951,1257,1162,1882,1499,1527,1267,1815,1994,1318,1526,534,67,1439,699,355,1073,1533,1295,127,506,985,1484,877,1016,359,813,1736,1649,1188,237,1638,1454,48,447,492,1001), 3997)42 }43 44}45 