Problem Statement
You are given a
If C[i] is negative, the condition is: "The sum of every consecutive -C[i] terms must be negative."
If C[i] is positive, the condition is: "The sum of every consecutive C[i] terms must be positive."
You should return the maximal length of a sequence that satisfies all the conditions. If there exists an infinitely long sequence that satisfies all the conditions, return -1.
Definition
- Class:
- LongestSequence
- Method:
- maxLength
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int maxLength(int[] C)
- (be sure your method is public)
Constraints
- C will contain between 1 and 50 elements, inclusive.
- Each element in C will be between -1,000 and 1,000, inclusive.
- All elements in C will be pairwise distinct.
- No element in C will be 0.
Examples
{-2,3}
Returns: 3
The sequence {2, -3, 2} satisfies all the conditions and its length is 3. It can be proved that there is no valid sequence with more terms.
{524}
Returns: -1
Any infinite sequence in which all elements are positive satisfies all the conditions.
{1, -1}
Returns: 0
No sequence with positive length can satisfy both conditions.
{11,-7}
Returns: 16
{-227,690,590,-524}
Returns: 713
{514,-514}
Returns: 513
{524,-524}
Returns: 523
{1}
Returns: -1
{-1}
Returns: -1
{1,2,3,-1,-2,-3}
Returns: 0
{1000,-1000}
Returns: 999
{1000,-999}
Returns: 1997
{999,-1000}
Returns: 1997
{882,-731,865,-734,-590,-61,906,-200,-738,479,342,761,992,-254,-559,-190,838,758,-263,-785}
Returns: 371
{697,643,482,-706,959,233,-501,-23,843,769,-551,700,862,935,664,-291,-383,375,-62,-150,113,-332,601,630,505,-578,-338,809,-933,162,-323,-604,-505,-452,-628,324,-22,416,229,-174,293}
Returns: 112
{-669,-46,178,995,-80,874,534,348,-778,-621,-299,784,305,749,696,475,357,-180,811,697,257,884,909,757,547,-613,-426,-65,-943,730,372,-393,-307,473,157,-601,391}
Returns: 156
{431,-364,-244,283,889,449,457,191,476,-69,241,464,675,683,832,-348,218,765,412,-834}
Returns: 232
{-738,663,598,979,-767,164,957,927,842,217,385,-121,-821,-754,-533,144,850,953,-956}
Returns: 249
{-526,565,-917,-316,-597,-585,882,174,800,779,400,82}
Returns: 375
{-749,882,216,-866,716,-589,-699,-702,682,-682,421,925,-415,-344,-121,-443,-103,-533,-581,782,919,-739,854,96,803,753,669,-358}
Returns: 191
{-282,203,700,698,274,912,-285,859,-724,-828,888,-541,-621,-797,-397,-732,641,-719,-936,209,548,-808,-914,832,333,307,90,164,622,-313,-562,-184,-834}
Returns: 205
{-565,75,516,-208,732,462,-265,-935,-756,599,336,-503,-668,-871,-939,476,100,-725,-278,914,-635,757}
Returns: 231
{-886,108,907,266,100,111,-523,528,103,726,346,-297,370,258,158,617,-231,847,524,-599,596,-589,-294,454,592,249,87,632,752,-818,-821,261}
Returns: 246
{-611,-836,483,-148,258,-894,290,-740,-276,-958,-809,103,569,621,-991}
Returns: 249
{-342,-471,205,337,-511,-168,503,-607,301,944,-951,190,-859,162,-121,-891,939,-930,-207,110,813,789,-778,-130,235,-786,-753,682,-303,-960,-488,-727,-523,172,880,223,650,-686,225,-879,-760,-449,-351,911,-232,-345,-872,-164,-518}
Returns: 162
{258}
Returns: -1
{-196,-834,561,207,-266,-699,-802,499,-817,688,-480,-778,-238,-274,896,-770,694,951,-377,-742,974,-606,423,-421,-978,-545,-736,-892,-783,-367,-670}
Returns: 247
{499,-795,133,-261,778,-930,484,574,-191,145,-927,494,-739,980,681,-512,366,948,444,846,334,-843,-951,855,-652,-929,-389,-669,-203,-288,-563,-530}
Returns: 276
{-470,-567,-888,-237,845,-443,-537,321,-230,517,-276,-1000,561,-684,-945,-638,425,880,-469,-318,705,-353,-319,-668,658,-942,692,858,662,861,-212,874,331,367,-438,-823,-378,307,571,216,-464,653,-701,507,141,598}
Returns: 231
{632,709,-779,672,546,-710,-701,-149,-475,472,-968,808,760,488,568,685,828,548,255,306,-271,-829,395}
Returns: 313
{419,-498,537}
Returns: 614
{-948,877,-424,-509,328,854,231,613,528,657,-606,185,347,-596,-240,745,-833,-860,258,-520,768,-539,-891,-478,654,-360,296,928,-903,-613,281,-781,-359,803,-913,335,-682,404,-826,-257,968}
Returns: 257
{-172,-503,774,-544,444,833,-924,722,-298,485,-494,-357,885,-454,418,448,-929,190,773,-586,-887}
Returns: 297
{-647,-359,659,-492,-871,331,-690,-358,-406,-745,932,-261,728,-853,220,-293,453,-402,-579,245,-275,-455,-700,574,-427,-347,-262,-442,-800,-893,918,224,486,-751,-568,-844,-914,651,-483,746,-901,-676,361,770,-198,-194}
Returns: 267
{365,867,-356,-842,826,372,-292,933,-297,745,-808,269,250,588,-638,-570,978,353,-404,-973,950,-810,-364,774,650,-210,820,370,-707,549}
Returns: 308
{975,691,445,849,-926,-478,-839,-634,377,649,-598,942,-590,-378,712,-278,-551,-956,721,474,-390,400,-900,989,973,-907,-795,-666,836,651,698,730,624,719,499,341,-758,-743,-921,-219,-730,-864}
Returns: 399
{474,719,815,675,-635,981,-305,212,-427,896,630,-518,514,725,-345,926,-303,243,960,-799,-844,-506,-446,-322,-931,-798,-666,385,-504,-398,409,455,772,-365,677,-959,-738,750,-233,-958,785}
Returns: 262
{-390,725,-405,372,-582,-744,317,386,286,332,-462,898,612,-502,234,743,-858,-707,-218,-692,-726,-845,589,382}
Returns: 393
{-376}
Returns: -1
{479,601,533,-651,421,631,765,-444,-259,-261,815,-758,-422,-500,-416,-410,532,-700,-552,-650,973,-740,807,818,-492,-731,894,-879,-964,-612,-483,835,426,858,952,-493,-282}
Returns: 425
{530,-291,380,436,-661}
Returns: 613
{953,357,890,-663,-455,536,-794,-852,253,-482,614,292,317,795,576,-640,927,347,324,745,690,321,-999,-275,564,872}
Returns: 312
{845,756,-783,-975,-377,-333,612,-310,684,458,954,-801,-915,262,-336,-796,-613,-902,-669,-698,305,-939,-764,762,896,-521,-394,976,-386}
Returns: 457
{693,367,940,468,-923,-496,915,824,609,-327,617,-647,755,583,-988,-950,-413,905,805,-698}
Returns: 450
{444,846,-729,-465,-290}
Returns: 606
{364,862,911,411,512,-785,-373,-607,731,-797,971,764,-467,660,684,431,-899,-923,-819,484,692,-960,851,581}
Returns: 418
{746,-948,696,-951,492,-542,683,-303,-497,-315}
Returns: 669
{628,-847,-869,912,-954,532,-781,333,488,-926,351,-751,796,356,-968,791,753,-524,-408,-646,-584}
Returns: 512
{570,858,-875,363,-680,620,-641,982,-514,530,-460,726,-481,-396,924,707,-972,-758,560,-881,609,-478,864,-669,571,-486,-368,820,-871,596}
Returns: 529
{461,-443,-672,535,354,785,854,650,905,-673,-471,-386,-400,568,-727,-978,-614,497,891,397,706,463,-492,389,-410,546,413}
Returns: 399
{-809,-621,-425,-439,-664,-713,-715,-768,-457,584,639,619,-619,-603,-480,989,562,380,-462,-368,621}
Returns: 433
{802,-379,-390,-962,-684,-358,581,-383,477,-359,519,-464,628,-690}
Returns: 683
{-984,-779,546,-472,-783,-657,436,640,-522,-970,468,850,682,-669,-764,-733,779,796,923,441,515,898,685,-533,723,895,-592,-486,-660,812,-386,869,-544,929,775,991,-428,500,873,-770,618}
Returns: 473
{521,-774,523,-779,-885,-736,-378,-754}
Returns: 807
{633,-513,-888,736,-763,721,416,-560,472,692,948,835,-697,-822,826,-987,984,-835,454,700,-517,-570,-690,-485,510,636,917}
Returns: 521
{412,-561,907,-657,934,-762,378,748,-822,781,-739,832,-579,-910,746,430,-859,973,-881,-951,-947,414,-804,766,-864,-611,654,-695}
Returns: 697
{-718,-902,567,996,989,-847,-469,-651,-442,781,-925,-408,775,-749,767,650,523,576,-540,676,-484,885,-627,-845,-950,487,854,-923,-787,-663}
Returns: 541
{-727,-755,489,-455,833,-650,-997,-800,839,-805,-651,-907,978,-486,-735,571,-510,894,-464,914,-849,-905,980,416,-600,943,-519,-587,902,606,-977,-434}
Returns: 490
{-634,-886,-877,659,518,496,-736,-690,570,647,-806,696,-507,825}
Returns: 517
{-480,-414,849,994,881,718,-795,-932,-955,-696,876,654,-623,711,-627,723,573,981,-701,-560,772,961,712,566,623,761,-634,-999,727,426,713,-739}
Returns: 485
{-639,-631,-439,580,-454,425,530,506,-958,-429,976,-711,-987,1000,-790,689,-956,768,503,601,-462,-791,789,861,-696,-637,-642,688,775,609,-896,501,-663,-860,-568,599,812,-571,-627,762}
Returns: 500
{661,977,797,814,606,545,578,514,902,-654,477,700,694,500,-688,-803,536,-934,-977,887,-463,941,505,774,-435,-944,-541,-741,775,489,-449,839,871,-684,-520,-924,789,975,-574,-743,692,983,859,867,-592,819,-918}
Returns: 525
{-776,957,-547,-938,-736,505,-925,-491,-490,897,700,-567,601,-494,515,468,829,-775,-920,-561,760,550,507,-798,961,-700,979,-873,-849,613,-813,-513,854,-997,949}
Returns: 515
{976,-464,852,863,-721,-583,918,-486,456,-924,-638,-521,886,-844,-896,683,-976,-535,470,451,-884,665,567,-717,-466,-762,645,-837,576,-709,677,-530,-476,-848,1000,809,476,-876,866,846,-697,-950,-773,-769,-561,-983,730}
Returns: 473
{-459,-666,589,701,-996,-773,-649,-689,-575,903,909,613,-677,637,-753,-679,650,-751,912,-886,927,-942}
Returns: 652
{490,933,681,658,-977,-632,-625,563,-982,701,837,-532,999,959,-525,561,-948,536,719,-704,-546,-504,692,724,488,-604,-587,-981,897,757,-799,887,-792,-772,-937,743,925,-533,996,-779,-862,834,685,791,-766,478,-701}
Returns: 535
{538,512,-726,702,686,547}
Returns: 1025
{836,-909,718,687,808,-987,-839,-961,512,-503,492,924,940,-860,-486,724,-513,-985,546,-854,682,587,773,879,-700,562,-602,688,672,-742,777,-641,-856,525,488,884,533,548,938,516,-786,-779,-883,790,-866,-509,-721,-487,746,-637}
Returns: 502
{854,-562,986,678,575,-619,-777,693,-903,-609,-510,611,-872,-694,-529,690,-881,580,-944,923,-628,-866,-869,-786,748,504,617,-688,-877,734,-665,532,-681,855,-704,-616,560,779,-859}
Returns: 534
{-839,-764,-771,-582,778,-693,611,707,708,-606,-967,-588,911,845,726,-573,604,-937,681,653,-631,860,-928,622,-644,811,863,-695,-534,-812,878,976,589,539}
Returns: 576
{-844,-999,-939,897,589,858,-848,-680,750,682,678,856,916,-962,-716,-774,955,568,699,730,524,-862,865,-898,587,-813,820,-964,-988,713,563,741,554,-638,-986,803,-617,548,571,717,752,594,-858,943}
Returns: 679
{-943,688,-641,-820,918,552,-743,983,576,-802,579,-990,-913,-586,797,-595,938,-821,561,-671,-603,808,-833,-825,758,-807,753,-858,-995,-601,-972,-906}
Returns: 687
{-936,609,-966,865,825,937,-804,-965,886,-902,781,-575,879,771,-749,986,-959,863,985,-553,531,653,752,-619,-558,-946,-779,-700,989,635,576,-743,-652,-1000,585,738,844,626,804,-973,887,-917,895,597,816,-536,-557,889,-705,-624}
Returns: 575
{592,603,-685,-957,-945,856,545,703,-996,-655,-970,944,-842,711,728,-684,-740,-734,-906,995,949,-712,795,-939,601,685,-715,804,678,-899,-706,-979,-803,-729,-667,874,-542,-563,-662,-695,723}
Returns: 562
{-798,705,953,-836,-682,-922,793,-806,665,904,-566,704,-714,-855,593,576,-780,-910,-959,-740,723,-702,561,-878}
Returns: 575
{580,-935,-687,821,921,-643,597,828,809,-601,-682,950,697,767,-787,901,-634,-954,-999,-620,-950,-710,645,982,900,-979,736,-872,-657,956,677,-560,698,803,969,628,-944,558,873,-806,-769,992,779,594,-623,772,-732,775,980}
Returns: 579
{-947,-744,793,-923,651,-674,973,624,885,699,719,-655,-989,980,-979,-928,-804,-737}
Returns: 698
{621,971,834,-901,706,976,-700,-697,-939,-831,-1000,762,985,889,-789,-687,715,-672,-817}
Returns: 724
{981,977,773,733,-941,-730,-654,-791,790,617,-761,993,-690,-922,-865,-697,-622,-889,-702,-599,626,-996,-896,-971,-633,-881,980,-999,-652}
Returns: 629
{-595,685}
Returns: 1274
{-745,-864,-630,-999,-767,-951,876,996,-778,-812,-845}
Returns: 951
{-735,909,819,679,-648,982,-729,640,660,-864,-764,-788,-809,-955,-661,-890,-922,710,-860,-936,900,638,682,668,-632,-932,987,678,-996,-926,822,-786,924,639,-983,806}
Returns: 647
{-685,639,-788,-994,-892,747,-948,-768,-952,732,827,-921,659,-733,-920,860,889,667,-751,-862,-627,959,-986,-882,-943,-934,978,853,734,949,966}
Returns: 686
{957,-935,926,-782,-996,668,859,630,783,980,-938,-632,-774,-711,-976,-793,635,-732,907,855,-821,-924,-913,747,814,903,961,-722,884,764,650,864,759,-633,862,-927,906,799,-835,808,-878,-812,-707,-937,-640,-888,763,-636,-769,848}
Returns: 634
{929,-782,-722,-755,-888,904,909,899,650,653,640,658,-918,882,787,1000,935,863,914,-906}
Returns: 790
{-764,694,-775,-785,934}
Returns: 941
{-681,935,921,-689,-920,725,-732,690,-870,-728,686,844}
Returns: 691
{-879,-674,875,-756,901,-919,871,948,-994,-871,932,994,687,981}
Returns: 767
{843,-965,-849,-903,959,-963,903,754,966,889,788,-881,740,-898,-707,-840,871,-986,-723,-709,-753,761,-801,-711,710,755,786,-776,-787,687,-925,730,-731,-683,965,683,821,-990,-988,995,-796,943,-725,751,-700,-730,722}
Returns: 682
{734,872,-859,-777,-948,944,-927,-970,-783,689,690,-786,766,999,-770,688,-879,-877}
Returns: 871
{-939,-699,-979,761,793,-799,941,-880,878,892,828,907,853,755,744,-1000,-941,887,-999,-938,-916,937,-876,737}
Returns: 798
{-898,828,-801,988,813,-845,954,-948,-933,-971,-934,-755,765,846,817,-816,-969,-902,-826,-952,-750,874,725,831,937,-853,729,751,855,-983,976}
Returns: 754
{-981,-913,798,-953,831,-961,-941,-817,-824,979,-881,-865,916,-993,812,-842,945,-970,-932,1000,797,-756,898,859,907,745,-741,-867,718,983,711,-772,748,870,933,957,-806,-737,791,774,938,-878,-944,821,-822}
Returns: 755
{-918}
Returns: -1
{-731,-994,982,911,915,966,-808,-747,-999,887,916,817,-996,819,-941,-940,886,-891,812,847,-914,850,-760,820,919,-755,-843,-772,-855,-869,-936,892,834,732,-874,-875,865,935,-796,928,920,833,843,736,735,831}
Returns: 746
{804,967,-982,923,968,-785,-921,-915,748,-839,946,874,-836,838,-750,-935,977,798,750,-800,-971,-914,-788,-977,965,847,975,918,-741,924}
Returns: 749
{765}
Returns: -1
{838,917,-805,-998,-799,-791,986,-789,-815,-856,-811,-871,-879,-865}
Returns: 864
{929,-995,780,891,957,765,-786,925,993,814,885,-907,-778,766,843,-982,827,817,-940,-770,996,-948,-956,-900,-824,-920,934,768,-832,-852,-834,-927,-791,799,-807,976,849,836,987,-771}
Returns: 779
{-783,-969,-853,-837,-951,-874,-995,-820}
Returns: -1
{-988,-804,864,-976,940,-848,-859,-881,869,-813,-850,-889,-919,810,-794,997,846,-854,891,990,821,805,-812,910,-830,-905,986,-959,-797,957,795,-982,937,-946,-874,-849,974,-930,921,875,837,-873,-932}
Returns: 796
{-903,997,836}
Returns: 1062
{-859,985,-827,-979,-888,-913,844,974,980,-898,-942,-833,817,975,-835,874,837,934,-921,-876,-851,846}
Returns: 836
{-962,911,948,944,847,881,968,-937,-893,-965,-959,-864,-925,-828,-870,928,-867,992,-818,863,828,900,936,-919,-991,867,904,-938,918,-975,878,930,849,857,851,-967,873,-906}
Returns: 827
{-914,851,-895,995,-848,-999,988,-942,970,-830,-821,906,881,-903,-883,959,-875,839,825,993,-845}
Returns: 832
{948,899,-988,-913,-949,-942,-910,-890,911,-904,965,-987,-895,931,-855,-930,-944,848,-959,-882,-923,889}
Returns: 888
{941,-967,845,909,-979,-983,-856,971,993,867,915,-887,988,-925,-858,842,-1000,976,950,-884}
Returns: 866
{976,-890,-954,920,-858,990,-882,-906,-953,-916,-961,-987,-872}
Returns: 953
{930,-951,-891,-981,874,-949,918,-894,950,-965,-905,-906,-868,-937,970,-927,877,971,955,947,999,882,935,867,-963,-964,-888,-966,-971,963,-995,881,914}
Returns: 873
{956,-992,911,916,870,-932,-927,993,-956,965,876,-886,866,973,872,-935,994,-978,-906,-974,-942}
Returns: 911
{-923,899,905,990,-874,910,-880,880,951,-970,-956,-904,941,-886,876,944,995,918,-927,939,978,928,-997}
Returns: 879
{-966,944,964,-906,956,-926,-918,-967,920,-922,954,935,973,-901,885,985,-899,988,997,-919,923,908,-884,977,-988,-914,-955,-983,929,970,986,-885,-949,897,999,-941,-930,946,-882,933,976,-913,951,887,909,910}
Returns: 884
{-947,-951,-983,-994,-913,979,931,917,-907,-929,-984,934,-957,976,986,923,-901,-995,937,929,903,904,994,906,905,949,-900,910,-938,990,894,908,959,925,953,968,-971,-906,-997,-936,-898,942,952,963,919,922,992,-985}
Returns: 903
{1000,-999}
Returns: 1997
{5, -5 }
Returns: 4
{-227, 690, 590, -524 }
Returns: 713
{1, -1000 }
Returns: 999
{1, 2 }
Returns: -1
{-1000, 999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 989, 988, 987, 986, 985, 984, 983, 982, 981, 980, 979, 978, 977, 976, 975, 974, 973, 972, 971, 970, 969, 968, 967, 966, 965, 964, 963, 962, 961, 960, 959 }
Returns: 1917
{3, -3 }
Returns: 2
{-2, 3, 100, -100 }
Returns: 3
{1000, -999 }
Returns: 1997
{2, 3, -1000 }
Returns: 999
{2, 4, -4 }
Returns: 3
{1, -3 }
Returns: 2
{2, -1 }
Returns: 1
{421, 326, 472, -869, 569, -91, 189, 149, -770, -507, 899, -563, -571, 838, 758, 166, -742, 353, -302, 226 }
Returns: 203
{10, -10 }
Returns: 9
{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, 500 }
Returns: -1
{15, 31, 99, 817, -199, -999 }
Returns: 198
{1, -2 }
Returns: 1
{997, -991, 983, -977, 971, -967, 953, -947, 941, -937, 929, -919, -911, 907, -887, 883, -881, 877, -863, 859, -857, 853, -839, 829, -827, 823, -821, 811, 809, 797, -787, 773, -769, 761, -757, 751, -743, 739, -733, 727, -719, 709, -701, 691, -683, 677, -673, 661, -659, 23 }
Returns: 672