Problem Statement
Victor travels around the world collecting coins. He is now in Surria and he would like to obtain at least one of each kind of Surrian coin. He is at a cash machine, and he only has time to make a single withdrawal before he has to leave. It is unknown how the machine determines which coins to return, so Victor must withdraw an amount that guarantees his goal.
You are given a
Definition
- Class:
- Collector
- Method:
- minimalSum
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int minimalSum(int[] coins)
- (be sure your method is public)
Constraints
- coins will contain between 1 and 50 elements, inclusive.
- Each element of coins will be between 1 and 10000, inclusive.
Examples
{1,2}
Returns: -1
It is impossible to guarantee that he will receive a "2" coin. Any sum can be achieved using only "1" coins.
{1}
Returns: 1
{8255,9548}
Returns: 17803
{9793,7287}
Returns: 17080
{4105,2325}
Returns: 6430
{1677,32}
Returns: 1709
{5389,1414}
Returns: 6803
{7060,116,4042}
Returns: 11218
{7644,1077,7215}
Returns: 15936
{1932,3308,4678}
Returns: 9918
{7604,2702,8828}
Returns: 19134
{6516,7810,7178}
Returns: 21504
{4497,7943,7941,5503}
Returns: 25884
{2307,2705,7929,9438}
Returns: 22379
{3229,1636,746,1521}
Returns: 7132
{9889,3005,566,3367}
Returns: 16827
{1560,6705,420,5840}
Returns: 14525
{9831,2722,7982,2994,9853}
Returns: 33382
{5502,74,9782,7881,7524}
Returns: 30763
{8612,3084,7761,9031,6583}
Returns: 35071
{1656,9429,4981,3605,4919}
Returns: 24590
{6322,4922,8922,5613,9185}
Returns: 34964
{1918,6304,6902,4730,1068,1644}
Returns: 22566
{874,4734,8027,1717,5490,2691}
Returns: 23533
{3387,6476,7124,1565,9258,7452}
Returns: 35262
{9273,1350,4166,2800,5840,5690}
Returns: 29119
{1037,1391,5718,4203,7243,7886}
Returns: 27478
{9261,6704,1411,5817,6459,4698,6405}
Returns: 40755
{5621,2086,9554,5213,9434,6262,6158}
Returns: 44328
{2662,9785,3421,8631,5271,8608,9937}
Returns: 48315
{4596,6556,9465,4747,8003,2362,5055}
Returns: 40784
{6203,5662,5335,1506,1585,6911,2101}
Returns: 29303
{5781,5744,8980,5092,5396,6938,1674,4260}
Returns: 43865
{6613,4452,5687,7576,4330,4981,1899,7700}
Returns: 43238
{6501,8942,7025,8572,7780,8550,6375,3141}
Returns: 56886
{4363,7779,3283,9413,7247,9060,4125,3712}
Returns: 48982
{7968,2744,5602,4234,5922,7064,2817,7836}
Returns: 44187
{4287,8147,9560,3261,9021,5813,5408,7326,4366}
Returns: 57189
{8945,4472,9717,5932,9189,9995,6081,8220,5544}
Returns: 68095
{9164,6976,8816,8688,9496,4767,6454,9090,9122}
Returns: 72573
{7409,5020,6408,5027,4949,9075,3861,5572,8954}
Returns: 56275
{4165,5685,7477,8221,9130,9901,5115,9726,5853}
Returns: 65273
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: -1
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}
Returns: -1
{10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000}
Returns: -1
{1,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000}
Returns: -1
{1956,9013}
Returns: 10969
{5517,463,5281,9586,8636}
Returns: 29483
{2540,2103,6573,2893,890,639,45,9320}
Returns: -1
{9023,7667,3305,2556,2775,3716,9630,3529,8000,1173,1741}
Returns: -1
{1174,5276,5006,1051,3724,3763,7291,1663,5401,4334,250,1511,7710,3373}
Returns: -1
{5696,4467,8449,3265,7317,3432,6092,7955,6707,4014,8860,411,4603,643,3251,6874,4705}
Returns: -1
{1190,4310,5009,6539,6285,3408,2615,9861,5951,4413,1319,4368,4714,7264,688,6670,4271,2317,1043,9639}
Returns: -1
{353,3792,4872,7240,3770,1348,7002,4687,6325,8253,5750,2464,5509,6543,8704,2963,2989,6004,3998,8148,2198,6698,5899}
Returns: -1
{4929,9532,6050,6149,5168,9041,8802,2255,4246,5768,9252,656,1265,8363,5237,6146,3151,6070,119,5477,7364,9578,3936,809,5320,9771}
Returns: -1
{4952,551,4903,4434,7535,1609,8607,9948,3828,4253,9446,8313,9311,3174,3937,3758,2264,6122,6062,1011,5614,5909,1947,2918,4898,3317,4956,1862,6201}
Returns: -1
{9421,9178,5176,6269,2146,3070,2038,7420,6513,1754,9067,1175,1254,3360,7912,2740,134,5225,1922,6141,2087,111,5553,6751,5234,1331,7331,9452,2696,6329,3783,4810}
Returns: -1
{7162,2055,5043,2322,5136,2762,2751,6977,2387,1856,1815,2314,8002,7935,2653,1442,4817,9212,6036,1362,2949,1637,7030,3737,1434,5832,5999,1783,9053,7977,159,8531,1314,5809,8796}
Returns: -1
{7431,1215,1385,8718,4063,3647,5395,1298,5053,6289,545,8488,6007,4438,6876,6596,7783,5062,4463,9408,3611,1628,3001,9385,9699,5061,7278,2286,7013,5253,3367,3220,1196,3025,3645,2148,4772,246}
Returns: -1
{8914,3323,7328,9537,4984,7465,2501,3445,5672,2019,7709,2009,9581,3953,9637,6647,6550,2225,126,3326,8088,8754,9151,9969,9353,1322,6994,438,4245,5184,9667,247,5245,7346,1540,8660,3284,8305,3339,5407,7584}
Returns: -1
{7264,6338,3599,2703,9224,4199,974,2959,7751,1002,2874,1365,8909,1826,3496,8519,8126,6311,7980,6002,34,2073,835,9989,4712,5624,7209,9171,286,5466,8419,2709,9051,6040,7062,2934,134,9809,6254,5189,4476,198,6313,5559}
Returns: -1
{9646,3804,7577,6434,4816,6989,2821,6387,3435,6264,8376,2392,6572,1852,7793,5495,306,8593,1457,1206,2340,127,512,4161,1593,4260,5273,6007,1855,4578,9897,8861,7669,2095,3892,7849,1824,1524,3072,6392,5770,9086,9048,2585,8862,4576,314}
Returns: -1
{1,2,3,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000}
Returns: -1
{1,2,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000}
Returns: -1
{1,1}
Returns: -1
The cash machine might give only the first type of "1" coin.
{2,2,7}
Returns: -1
{4,6,12,17}
Returns: -1
{4,6,466,577}
Returns: -1
{23, 27, 50 }
Returns: -1
{7, 1000, 13 }
Returns: -1
{3, 5, 24 }
Returns: -1
{2, 5, 7 }
Returns: -1
{2, 3, 7 }
Returns: -1
{4, 5, 11 }
Returns: -1
{10000, 9999, 9998, 9997, 9996, 9995, 9994, 9993, 9992, 9991, 9990, 9989, 9988, 9987, 9986, 9985, 9984, 9983, 9982, 9981, 9980, 9979, 9978, 9977, 9976, 9975, 9974, 9973, 9972, 9971, 9970, 9969, 9968, 9967, 9966, 9965, 9964, 9963, 9962, 9961, 9960, 9959, 9958, 9957, 9956, 9955, 9954, 9953, 9952, 9951 }
Returns: -1
{10000, 10000, 10000, 10000, 10000, 10000, 2, 4566, 456, 256, 7556, 4465 }
Returns: -1
{2001, 2002, 2003, 3001, 3005 }
Returns: -1
{4, 5, 6, 7 }
Returns: -1
{5781, 5744, 8980, 5092, 5396, 6938, 1674, 4260 }
Returns: 43865
{5000, 3000, 7000 }
Returns: -1
{3, 5, 7, 11, 13, 17, 19, 23, 29 }
Returns: -1
{5, 7, 8 }
Returns: -1
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: -1
{3, 4, 10 }
Returns: -1
{300, 301, 302, 401, 502, 2345 }
Returns: -1
{4, 7, 22 }
Returns: -1
{1234, 5678, 6912 }
Returns: -1
{20, 17, 3 }
Returns: -1
{2, 3, 5 }
Returns: -1
{5781, 5744, 8980, 5092, 5396, 6938, 1674, 4260, 300, 200, 500 }
Returns: -1
{3, 5, 8 }
Returns: -1
{3, 4, 9698 }
Returns: -1
{5781, 5744, 8980, 5092, 5396, 6938, 1674, 4260, 8756 }
Returns: -1
{3, 4, 5 }
Returns: -1
{2, 6 }
Returns: -1
{2, 3, 4, 5, 6, 7, 8, 9 }
Returns: -1
{3, 4, 14 }
Returns: -1
{3, 7, 10 }
Returns: -1
{10, 11, 13, 16, 18 }
Returns: -1
{10, 11, 13, 17 }
Returns: -1
{9951, 9952, 9953, 9954, 9955, 9956, 9957, 9958, 9959, 9960, 9961, 9962, 9963, 9964, 9965, 9966, 9967, 9968, 9969, 9970, 9971, 9972, 9973, 9974, 9975, 9976, 9977, 9978, 9979, 9980, 9981, 9982, 9983, 9984, 9985, 9986, 9987, 9988, 9989, 9990, 9991, 9992, 9993, 9994, 9995, 9996, 9997, 9998, 9999, 10000 }
Returns: -1
{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 }
Returns: -1