Statistics

Problem Statement for "Suminator"

Problem Statement

Suminator is a very limited programming language. A program in this language is simply a sequence of nonnegative integers. The program is evaluated using a stack of nonnegative integers. Initially, the stack is empty. Trying to pop an element from an empty stack returns a zero. (Alternately, you can imagine that the stack already contains a sufficient number of zeros in the beginning.)

A Suminator program is evaluated using the following algorithm:

for i = 0 to length(program) - 1 {
    if ( program[i] is 0) {
         Pop the top two elements from the stack, add them together
         and push the result to the top of the stack.
    } else {
         Push program[i] to the top of the stack.
    }
}
Pop the top element of the stack and print it.


For example, when executing the program {1}, we first push the 1 to the stack, and then we print it. When executing the program {5,0,1,2,0}, we take the following steps:
  • We push the 5 to the top of the stack.
  • We pop the top two elements (5 and 0), add them together and push the result (5).
  • We push the 1 to the top of the stack.
  • We push the 2 to the top of the stack. At this moment, the stack contains the values 5, 1, and 2 (from bottom to top).
  • We pop the top two elements (2 and 1), add them together and push the result (3).
  • We print the top element of the stack: the number 3. Note that the stack also contains the value 5, which is ignored.

You are given a int[] program containing a Suminator program (a sequence of nonnegative integers), in which one of the elements of the sequence was changed to -1. You are also given a int wantedResult. Your task is to change the -1 back to a nonnegative integer X in such a way that the resulting program prints the number wantedResult. Return X. If there are multiple possible values of X, return the smallest one. If there is no way to make the program print wantedResult, return -1 instead.

Definition

Class:
Suminator
Method:
findMissing
Parameters:
int[], int
Returns:
int
Method signature:
int findMissing(int[] program, int wantedResult)
(be sure your method is public)

Notes

  • The return value always fits into an int. This follows from the constraints and the nature of the problem.

Constraints

  • program will contain between 1 and 50 elements, inclusive.
  • Each element of program will be between -1 and 1000000000 (10^9), inclusive.
  • program will contain -1 exactly once.
  • wantedResult will be between 1 and 1000000000 (10^9), inclusive.

Examples

  1. {7,-1,0}

    10

    Returns: 3

  2. {100, 200, 300, 0, 100, -1}

    600

    Returns: 0

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

    13

    Returns: 0

    We can replace the first element with many other values, but 0 is the smallest that achieves the wanted result.

  4. {-1, 8, 4, 0, 1, 2, 0, 0}

    16

    Returns: -1

    It does not matter what value we use in the first element of the array, the result will always be 15.

  5. {7, -1, 3, 0}

    3

    Returns: -1

    Corner case. Subtraction will tell us to replace -1 with 0, but then the result is 10.

  6. {315291978,-1,0,55598902,0}

    703034801

    Returns: 332143921

  7. {242118690,483584629,-1}

    725703319

    Returns: 0

  8. {360518734,-1,0}

    628719390

    Returns: 268200656

  9. {28107371,157214073,116123103,430918710,0,0,0,-1,0}

    736756081

    Returns: 4392824

  10. {17389086,971075642,-1}

    988464728

    Returns: 0

  11. {585983170,-1,0}

    981293046

    Returns: 395309876

  12. {808312155,85035091,-1}

    893347246

    Returns: 0

  13. {-1,749942586,0}

    775380477

    Returns: 25437891

  14. {429184190,108889203,-1}

    538073393

    Returns: 0

  15. {19368652,131711616,347313404,0,-1}

    498393672

    Returns: 0

  16. {27554278,17337966,0,56877584,27250977,24654333,0,95244498,0,0,80572612,0,0,48429664,86916536,0,87348885,29024272,0,0,0,58309589,67899872,31402538,0,57195876,0,65223972,0,32519795,380796,0,26527035,0,0,0,-1,6819708,7681057,0,12061011,0,0}

    947232854

    Returns: 0

  17. {6121784,37579799,42054671,0,0,21650056,42465117,0,19699029,-1,0,62475162,82954834,60533217,0,60906322,27490398,0,0,0,0,17457492,62465630,7676347,0,0,66209524,0,78811351,34979933,0,0,0}

    731530666

    Returns: 0

  18. {22203450,82299496,0,7038659,60308119,81529514,0,48346978,-1,0,0,25143746,0,0,82495369,0,0,79657184,15611548,0,0,7384260,58361068,53937964,0,0,40839007,42257011,0,9251722,0,49696141,0,58916453,0,0,65659131,0,0}

    948785511

    Returns: 57848691

  19. {2393490,56408385,73433210,33640283,70413538,0,0,2651077,75556057,0,0,81458762,66135028,0,53468221,0,0,82463513,70665058,51438458,0,0,50153796,55047141,0,0,0,-1,0}

    825326017

    Returns: 0

  20. {8968086,71183583,21372385,0,0,45663719,91377290,41206862,0,0,52648830,0,76870920,0,32435288,56551108,0,0,0,68210949,9317952,0,32366429,11070050,69173085,0,13258192,0,0,29679029,-1,0,0}

    731353757

    Returns: 0

  21. {16869820,51221912,94011778,0,17074086,0,0,13997877,0,32307577,76801615,36596734,0,0,0,85763579,88547759,0,55025034,-1,52024955,0,9695889,0,75309749,44536073,0,55465839,0,0,0,0,0}

    900729282

    Returns: 95479006

  22. {1906618,73193354,0,5183734,72381,0,-1,0,44586187,7897709,0,36571227,92972392,0,0,0,61692364,59280198,70327032,0,34037300,0,9948593,0,0,55500096,0,0,16628763,56926570,3158331,0,13038238,0,62028644,91031966,0,0,0,41275821,0,0,0,56235962,15363972,0,0}

    933314801

    Returns: 24457349

  23. {21300835,7893779,0,69177473,3281250,5303217,0,60276620,0,0,43725318,35171555,0,69839608,28652498,94146503,0,108850,0,74423631,20449449,0,0,1776066,42250851,0,0,31465253,0,0,0,99078543,22476310,89104559,33143272,0,10693493,0,0,0,0,0,-1}

    863738933

    Returns: 0

  24. {60170971,87285249,0,74360457,24322550,0,77970602,75256921,554413,0,-1,0,27187444,63945021,0,50080571,23513604,97407919,0,0,71388131,0,0,48208912,0,0,0,55781581,61460360,0,0}

    898894706

    Returns: 0

  25. {59944435,3875246,79043002,25796131,0,37020529,0,0,35488475,0,83060151,169344,0,66849600,14319108,0,0,0,55515921,43969692,0,-1,0,77356161,91104921,0,0,0,0,45174426,62189700,0,0}

    814454357

    Returns: 33577515

  26. {98423334,40389105,77840151,34702292,40769476,2026722,0,63164352,0,53095687,82052748,41232966,74759175,57505634,0,0,0,16933623,-1,0,20533073,0,0,62312725,49491340,80813023,11761410,0,0,0,30028143,56269325,0,77231511,29781155,0,0,0,0}

    849762088

    Returns: 0

  27. {90456225,85312801,-1,93541849,90015805,0,0,79829127,55845796,0,0,14659918,18832075,7515373,0,60031859,0,0,0,93327133,0,50620889,66619994,66426447,0,0,88287780,13169100,0,0,0,12158979,0}

    849835476

    Returns: 38953352

  28. {14938044,46246998,85902525,2416658,27232359,0,0,27246177,46222391,0,8475680,31761455,63084522,0,0,2702197,0,64118410,64013290,0,65506550,98935847,0,5076046,80102234,49465450,0,-1,0,99070854,89669472,0,0,0,0,0,0}

    911002117

    Returns: 0

  29. {45743656,29111629,29808213,8037071,71283894,0,75917069,0,59844809,0,24035971,67204919,0,30570008,42088729,0,0,69669113,-1,0,41567270,37250545,0,0,0,56111537,0,26799697,62773021,0,0,0}

    683827216

    Returns: 10673563

  30. {79243676,95900435,95363426,0,53929344,18108136,0,11020340,0,72950603,52748967,59770766,0,31059099,98175993,0,43868893,0,0,0,-1,36781007,0,53727860,83280877,0,0,0,0,0}

    858785097

    Returns: 52099351

  31. {48113759,6699772,17036353,39342250,78863665,5611809,92220838,0,93728808,0,19795792,22264008,0,48569202,0,0,0,77108548,0,74525174,74904464,0,32764045,0,81117315,0,74565894,24098381,0,6408936,25943227,-1,0,26269372,78878026,13679000,0,0,0,0,0}

    951316504

    Returns: 0

  32. {85062112,18746825,57233685,59543708,0,28864697,0,80448723,0,0,62684571,44579929,-1,16611469,25587465,0,90265906,0,0,99382320,91339916,57656571,0,0,0,20202118,0,0,14851696,67271105,0,67553630,13796062,0,0,0}

    916620396

    Returns: 0

  33. {83191762,51967785,29386946,49982786,-1,0,40039437,5735068,0,0,44049021,49149340,0,0,27869343,10451002,0,20708423,0,70588499,0,73201533,9816665,0,0,74990186,92961936,0,2735492,0,46747896,0,0,0}

    694354117

    Returns: 75327490

  34. {90890752,52886353,39874533,86620279,60675504,41113674,0,77749103,47677476,0,15738275,71457403,15584516,0,29283919,41965110,0,0,0,0,0,9603159,0,84668136,46882061,0,0,13156925,56568327,55601319,-1,0,78422544,46925617,9639952,0,0,0,0}

    802713020

    Returns: 0

  35. {49715430,5526199,87281548,0,36463972,21245176,46179840,0,0,0,29836599,15418748,0,43943801,27877246,66693517,22809386,0,52321737,0,0,0,0,0,56578810,48758945,63321081,96648320,0,-1,0,0,0,0}

    784529097

    Returns: 63624172

  36. {54935281,68594537,-1,30167972,6251648,30104310,55589738,0,8634584,60608308,65445346,0,0,0,47557432,34644269,0,6555666,0,21897301,73294612,57761996,0,0,0,44758725,40299341,0,55950654,0,42940566,0,0,53744745,85569015,0,0,0}

    785356608

    Returns: 0

  37. {-1,4157188,20144091,34028992,0,0,58285104,46054299,60039873,0,0,56665373,0,71181655,8120218,0,0,28485199,21600051,94165749,85272877,0,0,0,0,0,24266805,48090490,50435958,0,0,2035946,91560907,8456936,0,35942693,85304843,62280523,0,0,0,0,0,0}

    996575770

    Returns: 0

  38. {8709400,9166572,94585811,81226439,-1,66640251,68697334,0,87915046,77265579,90477471,0,36675609,0,0,72337658,67974877,0,71659436,0,0,0,86618732,15702153,0,57793274,38368034,35294672,0,0,69085366,0,0,0}

    942505492

    Returns: 0

  39. {35880404,-1,40944277,38334477,84675446,86719767,8569974,0,0,0,37464173,2485920,33060234,75739762,0,0,0,64824343,0,0,44406595,40668925,29023893,0,0,87729953,0,0,42202011,16418266,0,77322234,0,49625137,0,0}

    819271110

    Returns: 0

  40. {46496316,-1,40244435,57054136,82504991,84752051,0,22163114,0,40078641,18135857,91067969,0,0,0,0,0,99625812,40726852,0,25547835,57479783,31264082,0,57716052,0,0,6114861,0,0,0}

    754476471

    Returns: 0

  41. {-1,9830727,88031936,87169296,0,0,92678444,53357920,0,0,97396811,47600544,0,5008467,56646835,0,0,58936643,0,0,21665011,48348970,0,98139588,0,76022724,70367407,0,0,18214786,0,37200731,0,0}

    966616840

    Returns: 0

  42. {34412299,-1,54752466,1426673,0,58447631,14847682,21713679,56247078,83833685,0,0,55563755,0,0,0,0,43151512,6067172,0,63206457,25322989,0,14019712,0,0,57184614,28776201,0,937026,61811064,0,0,0,24825650,49201691,0,0,14036421,68806402,15463303,0,0,0,0}

    819642863

    Returns: 0

  43. {-1,58431741,94439105,96665047,69617029,0,73394230,0,0,79513756,95163740,0,23586389,0,0,18106551,66764824,0,7185148,0,29656654,0,4721788,70639377,0,0,78454355,2847959,57657308,0,0,0,0}

    868413260

    Returns: 0

  44. {65313989,29224385,47350053,1646938,-1,47886094,90383913,5461838,56942461,0,55749776,0,0,0,98810333,57788195,0,60802583,10072319,25604929,0,0,19126863,0,54149019,10957755,40228468,0,10888062,0,0,0,0,0,30764764,5310015,83796410,0,0,0}

    764723797

    Returns: 0

  45. {-1,68149726,18957574,0,54496335,0,52778519,45633253,84931199,0,0,67877059,63951830,98291967,11146302,0,0,0,0,90327581,82532071,0,0,34381598,0,0,7415297,0,87837557,0,22703326,21049749,0,15857940,0,8083428,0,0}

    936402311

    Returns: 0

  46. {582754528,494887055,591828883,144176393,119650471,0,739891773,0,589412237,616162214,382470605,0,0,-1,354633409,142155495,690477455,0,380431293,546406944,218510074,0,0,0,0,0,335579968,949638819,803304197,0,561578075,0,0,412439300,833824263,0,0,0}

    882074298

    Returns: -1

  47. {845151429,60888921,349419441,452722179,698157266,589688000,0,0,614020210,917738413,0,0,984300555,785675697,623438381,865773912,-1,0,0,202538864,576905676,0,320406658,0,634482942,379832022,241814338,0,0,0,0,0,815856524,588150990,672632541,704357226,0,0,205398249,0,0,0,0}

    122233108

    Returns: -1

  48. {279808452,620805437,83635404,838871679,857178021,691041863,84348544,575676690,0,910430492,0,215400751,238179932,0,525142367,0,0,0,11990241,957341740,0,0,934141887,418006881,0,267811800,555461679,0,432168824,835612860,0,0,0,568807639,201562867,0,47484219,0,0,934223454,110523480,0,-1,0}

    9515358210

    Returns: -1

  49. {605408652,230633679,179958601,282903749,0,223697969,245883197,0,0,771536505,0,0,266036721,0,742945916,651004715,0,712341879,0,58528233,0,104776063,699406000,0,0,103374037,811802165,0,577168694,668961064,675998885,0,258195776,0,0,272701409,0,-1,0,0}

    853785525

    Returns: -1

  50. {357238094,130331731,747170763,360259568,28651631,262180699,510844152,0,32695546,0,473721555,894547214,0,0,694755401,629958322,0,324999126,586928525,0,484829140,509725543,0,0,0,0,87370995,434980501,0,374686812,0,433091693,338728248,-1,0,0,0,450777857,160856759,695081255,710246554,0,0,0,0,0}

    9188875891

    Returns: -1

  51. {61839030,430305560,293919480,852410070,729929915,0,877601219,662380493,324369743,-1,0,0,0,997831150,777002476,0,51468784,259336732,835531355,538188462,0,0,0,0,0,0,974504720,644046695,222184467,0,764704646,0,0,0,383678630,526245602,553840716,0,0,0}

    111816257

    Returns: -1

  52. {551199873,712588991,834935381,291061285,10564320,975108071,593114393,0,474890090,654018463,0,-1,0,271647513,274431195,250660747,0,163935318,648116283,0,0,824868970,777625223,0,252665572,937252197,793175882,0,0,0,0,374375300,296261313,0,644355911,302841151,0,0,0,0,0}

    9519907912

    Returns: -1

  53. {789654684,566364589,132807813,954342599,35537713,167014159,0,0,527502165,863260323,0,62519272,0,109943112,515518880,438991295,0,0,0,388935264,172607760,489587296,486148885,485583952,0,0,0,0,0,0,0,43897666,-1,0,686446611,0,610840718,45645333,0,0,0,913613509,612042210,0,0}

    8828143190

    Returns: -1

  54. {882928983,484511801,277557010,936093524,345945601,163322780,502092255,61844818,0,0,768651124,740375801,0,0,125802453,711152557,0,713283832,763971211,0,0,251782937,0,85343659,217269316,0,868727608,-1,719504744,0,142872132,751395802,0,279682500,348539127,0,0,234720762,0,0,0,467439019,0,0}

    8917774437

    Returns: -1

  55. {636752772,570097146,542987086,333070396,598017840,166886122,56087870,0,404381561,0,515108199,302263989,0,691864340,0,0,765471580,117113339,775001859,406695768,-1,0,346614879,822838605,0,42191846,213272479,0,380799912,0,0,0,0,368656183,22664848,0,0,590866005,109393731,0,537892273,0,221828339,253253843,0,0,0,0}

    811114757

    Returns: -1

  56. {19131545,85268859,33001208,0,29983140,97917399,49247737,14086271,0,2185239,0,0,0,-1,8931147,0,11229782,28945949,2238603,0,71704020,46480929,0,0,0,0,65128034,0,51892068,48599014,83333940,0,26603693,70382155,0,0,0,0,0,0}

    859960311

    Returns: 32801124

  57. {99695872,66155921,24299051,35949126,76544886,30362054,0,0,44591431,0,63428127,26510939,5480247,14060401,-1,0,0,46048334,0,0,0,0,24924352,97240994,0,22291066,44036112,0,14337533,0,0,0,11095091,27803079,0,66037805,0,0,0,0,44554281,0}

    800031701

    Returns: 14280871

  58. {82391954,10400084,92247077,60007666,57322244,0,0,-1,3373274,38863286,0,0,0,16390235,0,0,67268376,6531820,71012161,0,56430180,0,0,23703630,69736201,0,0,46759468,0,40187867,26039833,0,85457307,0,45245474,0,29609600,0,0,0}

    904959838

    Returns: 58374055

  59. {68247897,49287772,10572649,86863478,14666187,0,0,68266695,7474313,0,17306033,0,0,21619285,64353467,89665922,0,61298184,0,1028086,57375104,0,0,0,0,86018538,11043517,30158469,0,0,0,-1,56449860,0,29193381,0,64001822,56576912,0,0,0}

    932677219

    Returns: 98745317

  60. {16272577,30273166,77316801,70628577,0,4101760,37893993,0,0,58090962,0,33154385,68520270,63769491,0,79212934,0,0,27171237,0,0,52303370,96162546,23110277,37005114,0,0,-1,0,37219951,18158636,0,0,36510303,56478151,60714245,22950728,0,0,0,0,0,0}

    989911080

    Returns: 29437349

  61. {43913989,67364946,87902954,0,20891448,0,65989383,34904322,0,30949411,0,-1,7773816,0,0,29370199,0,95561039,27491404,70754139,0,65523689,0,0,0,0,15152079,98468232,0,45979533,0,13887985,25850246,87874780,0,52786826,0,0,0,0}

    946547828

    Returns: 2071397

  62. {92815231,67583132,30481888,45535974,0,49136747,18931635,0,29580054,12538637,0,31375171,0,0,90370711,0,0,39261806,77945892,0,71553248,22308530,59208691,0,31085687,0,85036012,0,0,0,63302613,298108,0,62351614,-1,0,18916716,55959335,0,0,34748974,0,0,0,0}

    950992003

    Returns: 21063960

  63. {27058474,16722355,36561517,79508329,0,42492098,0,-1,0,19370814,36965519,0,19149836,0,44202294,33260787,0,19765702,0,0,0,13912838,27953332,57136287,0,91984852,0,36889382,0,68421542,66276672,0,92610780,0,99678411,0,0,60122284,0,0,0}

    969429368

    Returns: 23166092

  64. {72350534,85809165,19840937,5351128,39700567,0,38739611,65341718,0,58992212,40737835,63497995,0,0,5186661,47796098,0,33923050,0,0,0,0,79467913,68362497,0,0,0,33382896,55790532,0,2523312,-1,74966375,0,0,89182011,63253397,0,0,0,0}

    939405737

    Returns: 53368992

  65. {29094678,24507371,13695287,0,38106846,59517030,0,63930879,44169284,0,16169976,0,0,14021954,6697649,89651613,0,0,0,0,1319858,18396546,9005948,95521177,0,0,0,26090599,58325190,76262307,12457609,0,74495673,0,0,0,-1,0,38449202,0,0,0}

    803043208

    Returns: 22251210

  66. {-1}

    1

    Returns: 1

  67. {1,1,-1, 1, 0}

    1

    Returns: -1

  68. {-1,444,921,0,764,0,455,625,0,0,15,908,0,618,864,0,0,0,731,686,0,0,751,20,0,75,116,0,0,0,212,884,0,58,146,0,655,631,0,0,0,59,0,387,0,0}

    11025

    Returns: 0

  69. {-1,442,730,609,0,7,0,0,201,763,0,620,613,0,0,399,676,250,0,260,0,0,955,926,238,0,812,0,0,0,0,554,990,0,227,117,0,0,0,0}

    10389

    Returns: 0

  70. {893,-1,457,460,169,0,504,0,0,384,116,0,28,885,0,652,515,0,0,938,143,0,0,330,0,789,326,319,0,0,745,113,0,0,859,0,342,15,658,0,0,0,0,0,0}

    9747

    Returns: 0

  71. {168,191,927,0,164,785,0,616,0,92,0,217,563,0,986,334,0,0,0,976,644,0,25,376,0,0,331,668,0,5,0,330,-1,0,0,0,0,229,254,0,0,0}

    9441

    Returns: 728

  72. {430,222,389,0,235,132,128,795,0,0,0,623,437,0,724,883,0,654,549,831,0,0,0,35,550,280,956,194,167,0,0,0,0,-1,0,0,601,374,0,0,787,0,0,0,0,0}

    10551

    Returns: 5

  73. {914,558,421,4,0,5,108,0,0,23,885,0,972,722,0,298,0,0,181,167,0,338,0,527,75,488,698,0,0,919,312,0,971,0,265,0,0,0,0,0,111,-1,0,0,0}

    9144

    Returns: 654

  74. {191,134,619,450,685,11,0,0,0,402,68,0,30,909,0,131,384,416,707,422,0,0,0,130,137,63,0,0,-1,662,0,0,0,0,0,486,41,0,0,0,0}

    6896

    Returns: 143

  75. {1,3,288,460,52,0,79,0,0,677,839,382,678,0,0,574,123,0,0,-1,0,0,299,704,0,831,0,737,0,0,0,494,709,79,0,0,287,468,0,833,0,0,0}

    10489

    Returns: 896

  76. {973,850,282,0,375,256,0,796,841,512,693,0,0,642,582,0,0,0,544,531,40,0,0,738,0,-1,793,0,0,976,0,0,0,766,823,961,601,0,0,0,0,919,0,0}

    14001

    Returns: 480

  77. {785,522,57,768,113,912,323,0,0,316,0,0,794,585,491,658,67,0,722,0,779,0,752,0,0,0,0,-1,0,922,0,340,922,0,908,288,18,0,0,0,0,0,0,0}

    11927

    Returns: 670

  78. {1,-1,0}

    1000000000

    Returns: 999999999

  79. {-1}

    1000000000

    Returns: 1000000000

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

    999999924

    Returns: 999999853

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

    999999964

    Returns: 999999895

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

    999999946

    Returns: 999999878

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

    999999831

    Returns: 999999762

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

    999999927

    Returns: 999999855

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

    999999943

    Returns: 999999873

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

    999999945

    Returns: 999999867

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

    999999967

    Returns: 999999901

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

    999999979

    Returns: 999999901

  89. {1,1,0,1,0,-1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1,1,0,0,1,1,0,1,1,1,0,1,0,0,0,0,0,1,1,0,1,1,1,0,0,0,1,0,0}

    1000000000

    Returns: 999999976

  90. {999998012,0,0,0,995917172,0,991821848,-1,0,0}

    999998046

    Returns: -1

  91. {1,-1}

    1

    Returns: 0

  92. {-1,0,0,6786143,124597551}

    196

    Returns: -1

  93. {7169462,0,0,3097757,0,-1,0,0}

    629

    Returns: -1

  94. {0,1,0,-1,1,0}

    1

    Returns: -1

  95. {1000000000, 1000000000, 1000000000, 1000000000, -1, 0, 0, 0, 0}

    1000000000

    Returns: -1

    It does not matter what we replace the -1 with, the result will be larger than 1000000000.

  96. {7, -1, 3, 0}

    3

    Returns: -1

  97. {1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, -1, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0 }

    1

    Returns: -1

  98. {0, -1 }

    5

    Returns: 5

  99. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, -1, 0 }

    705032704

    Returns: -1

  100. {1000000000, 1000000000, 1000000000, 1000000000, -1, 0, 0, 0, 0 }

    1000000000

    Returns: -1

  101. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0 }

    410065409

    Returns: -1

  102. {100, 200, 300, 0, 100, -1 }

    600

    Returns: 0

  103. {-1, 1000000000, 1000000000, 0, 1000000000, 0, 1000000000, 0, 294967297, 0 }

    1

    Returns: -1

  104. {7, -1, 3, 0 }

    3

    Returns: -1

  105. {-1 }

    4

    Returns: 4

  106. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, -1 }

    705032704

    Returns: 705032704

  107. {656040131, 420053325, 672058175, 459357954, 883462951, 306319514, 304726974, 323327257, 650507305, 673693686, 428860088, 378453150, 403214389, 548120973, 664004604, 358390117, 489552867, 401695990, 485725869, 559877273, 345093980, 650059157, 341491920, 302227266, 361070511, 621228845, 365577767, 368340082, 339692219, 346158939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0 }

    842595100

    Returns: -1

  108. {578784, 20592, 102977, 713261, 295626, 913091, 472225, 896382, 570818, 913193, 989993, 330530, 425048, 818064, 196098, 130996, 304861, 838890, 831389, 949547, 586741, 726338, 864290, 785801, 589221, 77539, 659822, 874504, 61983, 608661, 246250, 241010, 341291, 208903, 510409, 721168, 6196, 221768, 194846, 319674, 614829, 806127, 8343, 62030, 348638, -1, 0 }

    348938

    Returns: 300

  109. {536870912, 536870912, 536870912, 536870912, 536870912, 536870912, 536870912, 536870912, -1, 0, 0, 0, 0, 0, 0, 0, 0 }

    1

    Returns: -1

  110. {-1, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, 0 }

    705032704

    Returns: -1

  111. {-1, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0 }

    500000000

    Returns: -1

  112. {1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, 0, 0, -1 }

    5

    Returns: 5

  113. {3, 4, -1 }

    4

    Returns: 4

  114. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, 0, -1 }

    1111

    Returns: 1111

  115. {-1, 1 }

    2

    Returns: -1

  116. {0, 1, -1, 0, 0 }

    1

    Returns: 0

  117. {1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, -1 }

    1000000000

    Returns: 1000000000

  118. {1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, -1, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0 }

    1000000000

    Returns: -1

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

    5

    Returns: 0

  120. {1, -1 }

    100

    Returns: 100

  121. {-1, 2, 0, 2, 3, 4 }

    10

    Returns: -1

  122. {1, 1, 1, 1, -1, 0, 0, 10, 10, 10 }

    100

    Returns: -1

  123. {0, 0, -1, 0 }

    1000000000

    Returns: 1000000000

  124. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1 }

    1000000000

    Returns: 1000000000

  125. {1000000000, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, -1 }

    705032704

    Returns: 705032704

  126. {1, 2, -1, 4, 0 }

    55

    Returns: 51

  127. {-1, 1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0 }

    705032704

    Returns: -1

  128. {7, 0, -1, 0, 0, 0 }

    7

    Returns: 0

  129. {-1 }

    3

    Returns: 3

  130. {2, 3, 2, -1, 5, 0 }

    5

    Returns: -1

  131. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, 1, -1 }

    705032705

    Returns: 705032705

  132. {-1 }

    100

    Returns: 100

  133. {-1, 5, 0, 5, 5, 5, 0 }

    20

    Returns: -1

  134. {0, 0, 0, 0, -1, 1, 0 }

    999999999

    Returns: 999999998

  135. {1, -1 }

    2

    Returns: 2

  136. {1000, 1000, 0, -1, 0 }

    1000

    Returns: -1

  137. {7, -1, 0 }

    10

    Returns: 3

  138. {1, -1, 0, 3, 7, 0 }

    10

    Returns: 0

  139. {-1, 2, 2, 0 }

    14

    Returns: -1

  140. {2, 2, -1 }

    1

    Returns: 1

  141. {3, 0, -1, 0 }

    4

    Returns: 1

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

    1000

    Returns: 997

  143. {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 }

    1000

    Returns: 1000

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

    1000000000

    Returns: -1

  145. {1, 7, -1, 0 }

    10

    Returns: 3

  146. {1000000000, 1000000000, 1000000000, 1000000000, 294967297, 0, 0, 0, -1 }

    1

    Returns: 1

  147. {-1, 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 }

    1000000000

    Returns: 1000000000

  148. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, 0, -1 }

    705032704

    Returns: 705032704

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

    1000

    Returns: -1

  150. {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 }

    10

    Returns: 10

  151. {1, 1, -1 }

    1

    Returns: 1

  152. {0, 0, 0, 0, 0, -1 }

    1

    Returns: 1

  153. {-1, 0 }

    1000000000

    Returns: 1000000000

  154. {1000000000, 1000000000, 0, 1000000000, 0, 1000000000, 0, 294967297, -1 }

    1

    Returns: 1

  155. {-1, 0, 0 }

    1

    Returns: 1

  156. {1000000000, 1000000000, 1000000000, 1000000000, 0, 0, 0, -1, 0 }

    1234567

    Returns: -1

  157. {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, -1, 0 }

    3

    Returns: 2

  158. {0, -1, 0 }

    10

    Returns: 10

  159. {1000000000, 1000000000, 0, 1000000000, -1, 1000000000, 0, 1000000000, 0 }

    705032704

    Returns: -1

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

    5

    Returns: 5

  161. {1000000000, 100, 0, -1, 0 }

    1000000000

    Returns: -1

  162. {1000, 1, -1, 0, 0, 0 }

    1001

    Returns: 0

  163. {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 }

    1000

    Returns: 1000

  164. {-1 }

    10

    Returns: 10

  165. {1000000000, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, -1, 0 }

    1000000000

    Returns: -1

  166. {1, 2, -1 }

    2

    Returns: 2

  167. {1000000000, 1000000000, 1000000000, 1000000000, 1000000000, -1, 0, 0, 0, 0, 0 }

    1000000000

    Returns: -1

  168. {-1, 10, 5 }

    5

    Returns: 0

  169. {-1 }

    74

    Returns: 74

  170. {1000000000, 1000000000, 200000000, 1000000000, 1000000000, 94967299, 0, 0, 0, 0, 0, 0, 0, -1 }

    3

    Returns: 3

  171. {4, 2, 1, -1, 1, 1, 0, 0, 0, 3 }

    4

    Returns: -1

  172. {1000000000, 1000000000, 1000000000, 1000000000, -1, 0, 0, 0, 0 }

    705032704

    Returns: -1

  173. {1, 1, 0, 2382, 0, 7232, 0, 2321, 0, 0, 32321, 1, 2, 3, 0, 8, 0, 9989893, 0, 1230, 0, 123, 0, 34, 29, 0, 0, 0, 823, 232, 222, 982, 9, 10, 10, 1034, 231, 0, 100, 30, 98, 0, 20, 230, -1, 2332, 8, 30, 0 }

    1000000000

    Returns: -1

  174. {1000000000, 1000000000, 0, 1000000000, 0, 1000000000, -1, 294967297, 0 }

    1

    Returns: -1

  175. {42, -1, 0, 5, 5, 5 }

    42

    Returns: -1

  176. {1, -1, 0, 3 }

    4

    Returns: -1

  177. {1, -1, 0 }

    2

    Returns: 1

  178. {-1 }

    1000

    Returns: 1000

  179. {1, -1, 2, 0 }

    2

    Returns: -1


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: