Statistics

Problem Statement for "ProductThreshold"

Problem Statement

You are given an array A that contains N integers, and a positive int limit.

We will use the term subarray to denote any non-empty contiguous segment of the array A. Two subarrays are distinct if they start or end at a different index in A. (Distinct subarrays may contain the same sequence of elements.)

A subarray is called modest if the product of all its elements doesn't exceed limit. Note that a subarray with a negative product is always modest.

Count and return the number of distinct modest subarrays in the given array A.

To keep the input small, the array A is given in the following format: You are given a non-empty int[] Aprefix and ints spread and offset. Use the following pseudocode to generate A:

p = length( Aprefix )
for i = 0 .. p-1:
    A[i] = Aprefix[i]
seed = abs( A[p-1] )
for i = p .. N-1:
    seed = (seed * 1103515245 + 12345) modulo 2^31
    A[i] = (seed modulo spread) + offset

Definition

Class:
ProductThreshold
Method:
subarrayCount
Parameters:
int, int, int[], int, int
Returns:
long
Method signature:
long subarrayCount(int N, int limit, int[] Aprefix, int spread, int offset)
(be sure your method is public)

Notes

  • The reference solution does not depend on any properties of the pseudorandom generator.
  • The last two constraints imply that all elements of A will always be between -10^9 and 10^9, inclusive.

Constraints

  • N will be between 1 and 100,000, inclusive.
  • limit will be between 1 and 10^9, inclusive.
  • Aprefix will contain between 1 and min(N,500) elements, inclusive.
  • Each element of Aprefix will be between -10^9 and 10^9, inclusive.
  • spread will be between 1 and 2*10^9 + 1, inclusive.
  • offset will be greater than or equal to -10^9.
  • spread-1+offset will be less than or equal to 10^9.

Examples

  1. 5

    5

    {1,2,3,-4,5}

    1

    1

    Returns: 13

    We are given the entire sequence A in the array Aprefix. Modest subarrays are subarrays with product not exceeding 5. All 8 subarrays that contain the element -4 are modest. Additionally, subarrays {1}, {1,2}, {2}, {3}, and {5} are modest. That gives us a total of 13 modest subarrays.

  2. 10

    8

    {2,2,2,2,2,2,2,2,2,2}

    1

    47

    Returns: 27

    Each subarray of length 1, 2, or 3 is modest. No other subarray is modest.

  3. 20

    999888777

    {47}

    7654321

    1

    Returns: 21

    The array A you should generate looks as follows: {47, 4139827, 3367492, 890643, 113351, 7314474, 5690828, 5571137, 3860068, 2551091, 3662623, 379062, 3134150, 5405018, 2518354, 5390370, 4216741, 5130660, 4174938, 2342215}. Each one-element subarray is modest, and the subarray {47, 4139827} is also modest.

  4. 5

    8

    {3,0,3,0,3}

    47

    47

    Returns: 15

    Each subarray of the array {3,0,3,0,3} has a product that does not exceed 8.

  5. 1000

    1

    {-1}

    1

    2

    Returns: 1000

    This array looks as follows: {-1, 2, 2, 2, 2, ...}. Only the substrings that contain the element at index 0 are modest.

  6. 100

    47

    {1}

    1

    1

    Returns: 5050

  7. 99845

    172004433

    {757852577}

    302408965

    555028144

    Returns: 0

  8. 99856

    77724106

    {-156890680}

    1802972625

    -881668151

    Returns: 2492810093

  9. 99018

    208992476

    {-202829192}

    345544458

    -480429170

    Returns: 2451190590

  10. 99045

    320125150

    {1}

    2

    0

    Returns: 4905005535

  11. 99057

    702621676

    {271762128}

    406686405

    -99655695

    Returns: 2453193030

  12. 99774

    537724598

    {0}

    3

    0

    Returns: 4977475425

  13. 99588

    426511205

    {-227212422}

    840616349

    -911795186

    Returns: 2479492230

  14. 99912

    435485192

    {37961475}

    739407229

    -545439652

    Returns: 2495675312

  15. 99482

    905568839

    {-208322112}

    1465369421

    -725491665

    Returns: 2474251193

  16. 99150

    756423687

    {848255057}

    262345785

    603852457

    Returns: 58920

  17. 99306

    683785224

    {-2}

    2

    -2

    Returns: 2468349095

  18. 99380

    705219027

    {-1}

    1

    -1

    Returns: 4938241890

  19. 99422

    834545592

    {-131465952}

    49999769

    -144333910

    Returns: 2471233232

  20. 99108

    551799677

    {-838794650}

    445996712

    -932515447

    Returns: 2455648470

  21. 99437

    233099500

    {633477497}

    310579493

    328251536

    Returns: 0

  22. 99819

    572269799

    {446628851}

    765347782

    23848791

    Returns: 76444

  23. 99986

    92157021

    {1}

    1

    1

    Returns: 4998650091

  24. 99290

    885050008

    {-209193157}

    768325684

    -879848184

    Returns: 2464675670

  25. 99885

    681737737

    {5274431}

    891005113

    -422346591

    Returns: 2494326069

  26. 99387

    930726681

    {848694200}

    1325851054

    -347297535

    Returns: 2469375279

  27. 99726

    390747231

    {407151756}

    40189822

    392297362

    Returns: 0

  28. 99947

    708119189

    {181115754}

    31227628

    170683966

    Returns: 99947

  29. 100000

    27370081

    {-291269111}

    2000000001

    -1000000000

    Returns: 2499998139

  30. 99497

    501900836

    {356513461}

    460368686

    -91161516

    Returns: 2475018307

  31. 99833

    725494757

    {256692856}

    635749346

    -335306171

    Returns: 2491746179

  32. 99428

    491649947

    {419185043}

    912407980

    -109934952

    Returns: 2471124047

  33. 99949

    400742920

    {30699504}

    182758146

    -99570731

    Returns: 2497500053

  34. 99263

    542191161

    {-521606591}

    402483918

    -786734535

    Returns: 2463335424

  35. 99760

    686351450

    {-679763776}

    636540532

    -800293690

    Returns: 2488064280

  36. 99651

    136831963

    {538389819}

    1283658508

    -647287324

    Returns: 2482642632

  37. 99908

    246848320

    {-2}

    3

    -2

    Returns: 4990854186

  38. 99901

    602645330

    {-240645271}

    170462107

    -394797094

    Returns: 2495102401

  39. 99057

    392442147

    {33358748}

    1212137494

    -897491233

    Returns: 2453137319

  40. 99265

    679706936

    {-2}

    1

    -2

    Returns: 2464824203

  41. 99526

    712384352

    {1}

    5

    -2

    Returns: 4952762101

  42. 99612

    451271020

    {-573544062}

    962704638

    -933062131

    Returns: 2480690093

  43. 99623

    46848457

    {179822279}

    183335348

    54906749

    Returns: 0

  44. 99697

    907417408

    {607983929}

    10213891

    597842632

    Returns: 99697

  45. 99484

    738264022

    {514251866}

    207105816

    489542610

    Returns: 99484

  46. 99739

    825703950

    {205646926}

    920094926

    -676167797

    Returns: 2487030794

  47. 99639

    981333188

    {277056509}

    469811285

    -17566343

    Returns: 2482065477

  48. 99161

    372367589

    {415334278}

    1374988581

    -722913986

    Returns: 2458288839

  49. 99842

    930351686

    {1}

    2

    1

    Returns: 5839077

  50. 99787

    214535844

    {-786717963}

    16749284

    -792982339

    Returns: 2489411236

  51. 99047

    497431957

    {-456454765}

    745754657

    -730389391

    Returns: 2452627851

  52. 99271

    78991334

    {-706952522}

    128235658

    -789185472

    Returns: 2463732496

  53. 99847

    13994817

    {-413947828}

    218656292

    -628678655

    Returns: 2492405776

  54. 99422

    70041985

    {230936738}

    57012000

    204146300

    Returns: 0

  55. 99289

    668933209

    {-189977117}

    410843407

    -350176521

    Returns: 2464638182

  56. 99928

    341934531

    {232839291}

    185447317

    72843414

    Returns: 99928

  57. 99795

    436930186

    {155816593}

    1732255087

    -787403138

    Returns: 2489795453

  58. 99799

    748067975

    {4111247}

    700575494

    -24511368

    Returns: 2490014135

  59. 99154

    379160100

    {384216247}

    187627330

    349992366

    Returns: 16113

  60. 99350

    777565500

    {0}

    2

    -1

    Returns: 4935260925

  61. 99059

    328189558

    {-391614116}

    721300329

    -482155816

    Returns: 2453252862

  62. 99499

    407935618

    {-428069394}

    412834960

    -515818612

    Returns: 2475062500

  63. 99374

    640758861

    {2}

    1

    2

    Returns: 2881440

  64. 99994

    533887763

    {666768745}

    238562363

    542878885

    Returns: 0

  65. 99300

    795097653

    {-1}

    4

    -1

    Returns: 4930294650

  66. 99513

    660079438

    {0}

    1

    0

    Returns: 4951468341

  67. 99983

    768838872

    {135970066}

    626344826

    -331323868

    Returns: 2499229727

  68. 99263

    877318246

    {269744854}

    738331512

    -277209964

    Returns: 2463331120

  69. 99890

    122036539

    {-623406681}

    606395373

    -786878409

    Returns: 2494552970

  70. 99367

    892749216

    {-659571465}

    765734594

    -693729716

    Returns: 2468505921

  71. 99296

    275205851

    {192535108}

    555382279

    -104533773

    Returns: 2464980918

  72. 99662

    107180954

    {1}

    3

    -1

    Returns: 4966306953

  73. 99392

    869435486

    {-7406018}

    1604146192

    -851845720

    Returns: 2469752831

  74. 99706

    145545806

    {-241902572}

    507029289

    -630007779

    Returns: 2485371462

  75. 99696

    366294969

    {0}

    4

    -2

    Returns: 4969696056

  76. 99148

    398694542

    {524594073}

    761376799

    153951229

    Returns: 33776

  77. 10

    8

    {2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }

    1

    47

    Returns: 27

  78. 100000

    1

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

    3

    -1

    Returns: 5000049162

  79. 5

    5

    {1, 2, 3, -4, 5 }

    1

    1

    Returns: 13

  80. 100000

    10

    {1 }

    1

    1

    Returns: 5000050000

  81. 100000

    1

    {1 }

    1

    -1

    Returns: 5000050000

  82. 100000

    100000

    {1 }

    200000

    -100000

    Returns: 2500083445

  83. 100000

    20000

    {999 }

    9182932

    -2827381

    Returns: 2500034991

  84. 100000

    100

    {0 }

    1

    0

    Returns: 5000050000

  85. 100000

    100000000

    {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, 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, 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, 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, 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, 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, 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, 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, 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, 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 }

    1231

    -141

    Returns: 4933739368

  86. 6

    5

    {0, 0, 3, 3, 3, 0 }

    2

    2

    Returns: 18

  87. 100000

    10000

    {0 }

    201

    -100

    Returns: 4990614009

  88. 100000

    1000000000

    {0 }

    1

    1

    Returns: 5000050000

  89. 100000

    100000000

    {1 }

    1

    1

    Returns: 5000050000

  90. 100000

    1000000000

    {1 }

    1

    1

    Returns: 5000050000

  91. 100000

    123456789

    {42, 13, -7, 0, 55, 101, 1337, 666, 123, 456, 789, 12345, 67890, -13, -17, 5, -42, 11, 0, 77, 777777777, -888888888, -999999999, -666666666 }

    99999937

    73472039

    Returns: 2350800

  92. 98980

    324243

    {2, 5, 0, -1 }

    654346

    -354346

    Returns: 2449500646

  93. 100000

    2

    {1 }

    1

    1

    Returns: 5000050000

  94. 100000

    47

    {1 }

    1

    1

    Returns: 5000050000

  95. 100000

    995959113

    {568009989, -457264404, 645908748, 752768535, 653764759, 833336657, 269071273, 995959113, -689947107, -163968554, -243191514, 270944826, 142281858, 245661295, -733508702, 55046011, -970150832, 940779439, -194828409, 550865646, -792799694, 52803612, 17263201, 459483494, -200174938, 651572788, 438353993, 674045337, -529855474, 603283730, -778575334, -232016748, -120495950, 219414106, -747780797, 65873915, -898282585, -785715569, -294015648, 172718242, -250126090, -780433670, -838304396, 766779451, 810328684, 396912547, -661806395, -478942167, 217798398, -618762372, -738094252, 873231219, 516796118, 326996126, -737183240, -516048428, -614048258, 678644246, -448417297, 897316776, 380997970, -192736001, 369127583, -347966441, 80213232, 930224870, -584121491, 777448238, 727393108, -586567300, 408419355, -94884461, -293515621, 805026346, 630448989, -820541824, -570668998, -751566358, 273212583, -629698522, -106090982, -766933821, -730061535, 960734398, 268840671, -166438984, -869722579, -147605952, -997501622, 307249230, -282855854, -436947303, 478330953, -840108015, -658253328, 861625471, 464503125, 891479273, 944349235, 598164360, -55480653, 14513675, 879093985, 105896749, -176243023, 629200811, -655326434, 148901578, -172565377, -867045426, -487866661, 155003842, 82555047, 206050877, -869586211, 932890560, -651020502, 517282197, 460818712, -920396487, -668515460, -513448574, 899339083, -239746931, 431107566, 840684271, -112625239, -746698141, -58303563, -387466735, -238075881, -733174281, -251480558, -534715948, 1180508, -491147031, -4441413, 462495416, 548756502, -417416798, 650098898, 435428889, -665336364, -511693046, -844677592, 86195241, -313599251, 829401073, -168284196, -875027113, -19130570, 770566204, 488795305, -598414386, 300469341, 920848842, 165720852, -22625819, 470018324, 807777414, -610782253, 143694526, 530603363, 753295963, -58492491, 681360000, 743855324, 835033547, -279552664, 967246916, 423182374, -694403651, -774415167, -859738849, -817772084, 922772882, -188706052, 199294012, -553239218, -17077306, -953634014, 349991573, -179237550, -573964994, 71173763, -829721522, -251555020, -847539869, 296267182, -141295541, 75719099, 983605169, -595128902, 617512915, 500917489, 632626162, 726782064, 432593735, -861219135, -798412227, -804212067, -105458849, 673707858, -817569441, 430262619, -480726328, -936267248, 243547166, 755767083, -358701519, 496257365, -968409957, -805594965, -884456573, -779824461, -737661999, 153428723, -213904851, 850128352, -734412998, -461435502, 912131740, 586465343, -392286576, -289586656, 532218570, 324787975, 544908208, -367727744, 232689134, -892702190, 20553397, 273225041, -851150524, -137496739, 368426646, -957922867, 206782750, -6840642, 355839463, 811822283, -849949295, -69045635, -526031335, -297132830, 240404445, -689962364, 423168316, 132471654, 253317965, -90107900, 162288467, -364119292, -677450291, -374432815, -983602171, -834606955, 724579890, 856671719, -631219681, -842317497, -800600819, -774304264, 575909911, -193065250, -514708424, 874867766, 749917483, -843707319, 323788866, -217699313, 661701058, -821002066, 51702028, 73540564, -699507185, 555518717, -655478878, -600663297, 967688927, -680585862, -813428605, 185580096, -878351278, -277440255, -738052204, -956047995, -110112655, -446314640, 63616784, 127226214, 456924672, 335604666, 53207619, 944382078, -964206299, 310762479, 206791305, 699584122, 495411802, 928258270, -791196370, -653965589, -565394243, 859442818, 675204694, 204474924, 550950621, 975418659, 454390807, -48592746, -732924921, 504585297, -407967398, -12926788, -714834187, 795727021, 576208088, 741623613, 402265508, -96261039, 231322186, -905514941, -28932131, -293512312, 750715573, 73104711, -746175969, 354084903, 962282673, -139236197, -442622882, -75425599, -324976084, 957250549, 883943748, 79347910, 58750532, 327924837, -30433312, 823092588, 744781894, 62343280, 884162180, -222824554, 139373621, -886450875, -837788135, -732377439, -295445312, 623247180, 230051753, 194571865, -463640054, -107301746, 550959491, 492182777, 613734951, -459785661, -804468277, 64021507, -805685536, -767680762, -486178376, -37141300, -112464432, 355209375, 195833114, -915662663, -521486050, -697247984, 577156768, -373457180, -69248716, 509174918, 33148371, -92399057, 607260311, -910152085, 860352016, -898100701, -199396110, 816589058, 709552443, -182836415, 47844957, 812486319, 673244992, 484162542, 227238926, 155654922, -196731952, -844863413, 210556300, -720368476, 511523858, 119575732, -891739498, 830902426, 948467821, -930360932, -108388949, 418273480, 346816763, -129520564, -621755642, 942895092, -867436949, 432888, 835988029, -411329607, 94680947, 102378431, -31144, -272958596, 579550689, 659878598, 470557190, 985098122, 997506640, 260272598, 430137071, -31599869, -582904631, 985949536, 867702820, 561750629, -346089082, 32417553, 259422648, 279093428, -246235182, -991666162, 440958824, -176235197, 172294412, 833938637, -138515339, -246391774, 550024650, 770323599, -930238829, -366009563, -989618407, 905229949, -145900038, 358534540, 900137443, -990417314, -918442855, 299855956, -51161494, 115376883, 578172522, 326908185, -730845712, 861769712, 535250144, -936275847, 259579287, -715327618, 677720603, 395719848, 86259698, -966827135, -949998662, -511831097, 759676844, 320953533, -487877042, 858717154, 901164684, 917879174, -648959432, -162420337, 409445317, 925479191, 308664023, -952247646, -976901846, 682809107, -535978337, 252816377, -285713280, 322864839, 910364771, -691298545, 645429788, -812361272, -102138767, -537568966, -179986065, 512772054, 394427716, -551772182, -998386245, 672707727, 325951102, -171501598, 254929962 }

    553774280

    -654008054

    Returns: 2500050198

  96. 100000

    1000

    {0, 1 }

    47

    -7

    Returns: 4997818854

  97. 100000

    2

    {-1 }

    1

    -1

    Returns: 5000050000

  98. 100000

    9

    {1 }

    21

    -10

    Returns: 4999131009

  99. 100000

    1000000000

    {1, 2 }

    10

    -5

    Returns: 5000013293

  100. 100000

    1

    {1 }

    1

    1

    Returns: 5000050000

  101. 10

    3

    {2, 2, 2, 0, 2, 2, 2, 0, 2, 2 }

    100

    0

    Returns: 48

  102. 33

    7

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

    10000

    0

    Returns: 536

  103. 100000

    1000000000

    {-1 }

    1

    -1

    Returns: 5000050000

  104. 3

    1

    {-2, -2 }

    1000000000

    0

    Returns: 3

  105. 100000

    100000000

    {1, 2 }

    50

    60

    Returns: 398803

  106. 100000

    2

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

    5

    -2

    Returns: 4999940649

  107. 100

    2

    {5 }

    3

    -1

    Returns: 5047

  108. 2

    1

    {1 }

    1234567890

    -300000000

    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: