Statistics

Problem Statement for "DriveTheCarHard"

Problem Statement

You are going to drive a car for exactly total_time seconds along a long straight road segment. Your goal is to travel exactly distance meters in those total_time seconds.

At the beginning of the drive the car is stationary (i.e., its speed is 0 meters per second).

At each integer timestamp you can speed up your car. (This includes the beginning of your trip.) More precisely, at any such moment you can choose any positive integer X and increment your car's speed by X m/s. Doing so instantly consumes X*X units of fuel. You can speed up as many times as you like, and you can choose different values of X at different moments if you want.

Find and return the minimum total amount of fuel needed.

Definition

Class:
DriveTheCarHard
Method:
findMinimumFuel
Parameters:
int, int
Returns:
int
Method signature:
int findMinimumFuel(int total_time, int distance)
(be sure your method is public)

Notes

  • There is always a solution.

Constraints

  • total_time will be between 1 and 30000, inclusive.
  • distance will be between 1 and 30000, inclusive.

Examples

  1. 4

    10

    Returns: 4

    An optimal solution: increment the speed of your car by 1 m/s at each of the timestamps 0, 1, 2, and 3. Thus: During the first second of your trip the car will travel at 1 m/s. During the second second of your trip the car will travel at 2 m/s. During the third second of your trip the car will travel at 3 m/s. During the fourth second of your trip the car will travel at 4 m/s. The total distance traveled in those four seconds will be 1+2+3+4 = 10 m. Each speed-up will require 1*1 = 1 units of fuel for a total of 1+1+1+1 = 4 units.

  2. 5

    33

    Returns: 21

    If you are driving for five seconds, there are five moments at which you can raise the speed of your car. In this test case you should increment your car's speed by 3, 3, 1, 1, and 1 m/s, respectively. Doing so will consume 3*3 + 3*3 + 1*1 + 1*1 + 1*1 = 21 units of fuel. The car will travel 3 + 6 + 7 + 8 + 9 = 33 meters.

  3. 1

    30000

    Returns: 900000000

  4. 228

    29595

    Returns: 242

  5. 250

    13922

    Returns: 64

  6. 250

    14106

    Returns: 65

  7. 250

    14108

    Returns: 65

  8. 250

    14110

    Returns: 65

  9. 250

    14291

    Returns: 66

  10. 250

    14293

    Returns: 66

  11. 250

    14473

    Returns: 67

  12. 250

    14475

    Returns: 67

  13. 250

    14477

    Returns: 67

  14. 250

    14656

    Returns: 68

  15. 300

    22296

    Returns: 87

  16. 300

    22298

    Returns: 87

  17. 300

    22300

    Returns: 87

  18. 300

    22302

    Returns: 87

  19. 300

    22304

    Returns: 87

  20. 300

    22486

    Returns: 88

  21. 300

    22488

    Returns: 88

  22. 300

    22490

    Returns: 88

  23. 300

    22492

    Returns: 88

  24. 300

    22494

    Returns: 88

  25. 300

    22496

    Returns: 88

  26. 300

    22498

    Returns: 88

  27. 300

    22500

    Returns: 88

  28. 300

    22502

    Returns: 88

  29. 300

    22504

    Returns: 88

  30. 300

    22506

    Returns: 88

  31. 370

    30000

    Returns: 93

  32. 410

    30000

    Returns: 82

  33. 450

    30000

    Returns: 73

  34. 490

    30000

    Returns: 66

  35. 530

    30000

    Returns: 60

  36. 570

    30000

    Returns: 56

  37. 610

    30000

    Returns: 52

  38. 255

    29664

    Returns: 179

  39. 255

    29749

    Returns: 180

  40. 255

    29833

    Returns: 181

  41. 255

    29835

    Returns: 181

  42. 255

    29918

    Returns: 182

  43. 255

    30000

    Returns: 183

  44. 256

    29753

    Returns: 178

  45. 256

    29922

    Returns: 180

  46. 257

    29926

    Returns: 178

  47. 255

    29748

    Returns: 180

  48. 255

    29750

    Returns: 180

  49. 255

    29834

    Returns: 181

  50. 255

    29917

    Returns: 182

  51. 255

    29919

    Returns: 182

  52. 256

    29667

    Returns: 177

  53. 256

    29838

    Returns: 179

  54. 256

    29923

    Returns: 180

  55. 252

    29893

    Returns: 188

  56. 252

    29895

    Returns: 188

  57. 252

    29897

    Returns: 188

  58. 252

    29899

    Returns: 188

  59. 252

    29901

    Returns: 188

  60. 252

    29903

    Returns: 188

  61. 245

    29996

    Returns: 204

  62. 246

    29997

    Returns: 202

  63. 246

    29999

    Returns: 202

  64. 20522

    24575

    Returns: 2

  65. 6426

    9445

    Returns: 2

  66. 18772

    81

    Returns: 1

  67. 13447

    10629

    Returns: 1

  68. 23497

    27202

    Returns: 2

  69. 27775

    24325

    Returns: 1

  70. 3982

    14784

    Returns: 4

  71. 18417

    2156

    Returns: 1

  72. 1932

    5902

    Returns: 4

  73. 5728

    18537

    Returns: 4

  74. 2522

    28575

    Returns: 12

  75. 426

    8445

    Returns: 21

  76. 772

    25081

    Returns: 34

  77. 1447

    3629

    Returns: 3

  78. 2497

    27202

    Returns: 11

  79. 775

    4325

    Returns: 6

  80. 982

    26784

    Returns: 28

  81. 417

    22156

    Returns: 57

  82. 1932

    25902

    Returns: 14

  83. 2728

    18537

    Returns: 7

  84. 122

    28575

    Returns: 1344

  85. 126

    8445

    Returns: 118

  86. 172

    25081

    Returns: 383

  87. 247

    3629

    Returns: 16

  88. 97

    27202

    Returns: 2404

  89. 2

    21836

    Returns: 95362180

  90. 6

    24155

    Returns: 6411694

  91. 22

    21011

    Returns: 116330

  92. 7

    3592

    Returns: 92162

  93. 7

    5988

    Returns: 256116

  94. 25

    8994

    Returns: 14644

  95. 22

    9628

    Returns: 24429

  96. 27

    15508

    Returns: 34707

  97. 12

    8808

    Returns: 119357

  98. 28

    7466

    Returns: 7229

  99. 2

    9070

    Returns: 16452980

  100. 3

    14780

    Returns: 15603458

  101. 1

    7091

    Returns: 50282281

  102. 1

    15264

    Returns: 232989696

  103. 1

    15612

    Returns: 243734544

  104. 1

    24675

    Returns: 608855625

  105. 1

    17909

    Returns: 320732281

  106. 3

    6661

    Returns: 3169209

  107. 3

    18642

    Returns: 24823155

  108. 1

    8467

    Returns: 71690089

  109. 250

    28054

    Returns: 169

  110. 250

    28055

    Returns: 169

  111. 250

    28056

    Returns: 170

  112. 250

    28135

    Returns: 170

  113. 250

    28136

    Returns: 170

  114. 251

    28305

    Returns: 170

  115. 251

    28306

    Returns: 170

  116. 252

    28557

    Returns: 171

  117. 252

    28558

    Returns: 171

  118. 253

    28728

    Returns: 171

  119. 253

    28729

    Returns: 171

  120. 253

    28730

    Returns: 172

  121. 254

    28982

    Returns: 172

  122. 254

    28983

    Returns: 172

  123. 254

    28984

    Returns: 172

  124. 254

    28985

    Returns: 173

  125. 254

    29064

    Returns: 173

  126. 254

    29065

    Returns: 173

  127. 257

    29667

    Returns: 174

  128. 257

    29668

    Returns: 174

  129. 257

    29669

    Returns: 174

  130. 257

    29670

    Returns: 175

  131. 257

    29993

    Returns: 178

  132. 257

    29994

    Returns: 178

  133. 258

    29925

    Returns: 175

  134. 258

    29926

    Returns: 175

  135. 258

    29927

    Returns: 175

  136. 258

    29928

    Returns: 175

  137. 258

    29929

    Returns: 176

  138. 30000

    30000

    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: