Statistics

Problem Statement for "RoadOrFlightHard"

Problem Statement

The king has been out to work for a long time and he wants to go back to his queen as fast as possible. The king is in city 0 and the queen is in city N. There are roads and flights connecting city i to city (i+1) for all i between 0 and N-1, inclusive.

The time it takes to travel from city i to city (i+1) by road and by flight is given by the i-th elements of roadTime and flightTime, respectively. roadTime can be generated from the following pseudocode:
    roadTime[0] = roadFirst mod roadMod;
    for i = 1 to N-1
        roadTime[i] = (roadTime[i-1]*roadProd + roadAdd) mod roadMod;
        // note that (roadTime[i-1]*roadProd + roadAdd) may overflow a 32-bit integer
flightTime can be generated similarly by using flightFirst, flightProd, flightAdd, flightMod.

However, taking a flight risks the life of the king during takeoffs due to the technological limitations in the kingdom. Hence the queen has asked him to ensure that the total number of takeoffs during his entire journey does not exceed K.

To minimize the number of takeoffs, the king may choose to take a direct flight from city i to city i+j instead of separate flights from city i to city i+1, then from i+1 to i+2, ... and from i+(j-1) to i+j. The time taken for this flight is the sum of the times taken for the flights from i to i+1, i+1 to i+2, ..., i+(j-1) to i+j.

Return the minimum amount of time in which the king can reach his queen.

Definition

Class:
RoadOrFlightHard
Method:
minTime
Parameters:
int, int, int, int, int, int, int, int, int, int
Returns:
long
Method signature:
long minTime(int N, int roadFirst, int roadProd, int roadAdd, int roadMod, int flightFirst, int flightProd, int flightAdd, int flightMod, int K)
(be sure your method is public)

Constraints

  • N will be between 1 and 400000, inclusive.
  • roadFirst, roadAdd, flightFirst and flightAdd will each be between 0 and 100000, inclusive.
  • roadProd, roadMod, flightProd and flightMod will each be between 1 and 100000, inclusive.
  • K will be between 0 and 40, inclusive.
  • K will be less than or equal to N.

Examples

  1. 3

    14

    1

    2

    10

    18

    1

    10

    17

    1

    Returns: 14

    The pseudocode gives roadTime = {4, 6, 8} and flightTime = {1, 11, 4}. The fastest way to reach the queen is to take the road from city 0 to 1 and 1 to 2, and a flight from city 2 to 3.

  2. 3

    4

    1

    2

    10

    1

    1

    10

    17

    2

    Returns: 11

    roadTime and flightTime are the same as in previous example. But now the king is allowed 2 takeoffs.

  3. 3

    4

    1

    2

    10

    1

    1

    6

    9

    1

    Returns: 12

    roadTime = {4, 6, 8} and flightTime = {1, 7, 4}. Even though roadTime[1] < flightTime[1], it is best to take a direct flight from city 0 to city 3 which takes a total time of 1 + 7 + 4 = 12 units.

  4. 331999

    65645

    48613

    81333

    82122

    2374

    18997

    3468

    97383

    10

    Returns: 13625973966

  5. 337552

    12367

    19281

    79400

    76410

    29402

    38052

    12277

    1125

    27

    Returns: 187902412

  6. 364022

    49002

    93182

    68992

    24256

    6455

    42349

    78059

    3457

    37

    Returns: 626837051

  7. 390818

    80265

    2443

    79745

    89425

    70540

    63081

    80108

    59743

    8

    Returns: 11640825815

  8. 357873

    65562

    69040

    57517

    3858

    20770

    43599

    74218

    59113

    10

    Returns: 703712348

  9. 328643

    30767

    84901

    38251

    59635

    4101

    2640

    25554

    58220

    32

    Returns: 9160042289

  10. 321892

    27427

    66024

    32895

    19155

    47042

    12219

    70670

    67585

    36

    Returns: 3049502560

  11. 373349

    73159

    66640

    32302

    47575

    92630

    25277

    83505

    64174

    15

    Returns: 8588704461

  12. 329201

    71398

    6856

    97639

    36863

    57965

    8913

    75211

    72497

    13

    Returns: 6033579281

  13. 350325

    69347

    57632

    30099

    49983

    10902

    56586

    62050

    9145

    1

    Returns: 1609926100

  14. 318381

    8024

    74916

    69931

    13054

    37829

    99428

    37516

    25126

    12

    Returns: 2041620745

  15. 398062

    61262

    99992

    15705

    33601

    72788

    71714

    11494

    58115

    2

    Returns: 6686431826

  16. 308127

    62373

    60342

    19984

    1603

    52899

    66120

    74558

    94739

    22

    Returns: 251102814

  17. 364462

    71537

    50629

    29551

    27328

    22426

    87194

    88225

    93943

    6

    Returns: 5029039829

  18. 330950

    97224

    51662

    23879

    58133

    91169

    55244

    84828

    27127

    1

    Returns: 4472738874

  19. 338532

    51526

    62699

    15377

    85659

    4408

    99381

    98836

    55302

    2

    Returns: 8809082715

  20. 398677

    29112

    13923

    83860

    63976

    97890

    10038

    53397

    51802

    1

    Returns: 10319492679

  21. 346690

    48019

    33783

    52606

    29250

    89651

    76426

    60666

    77307

    35

    Returns: 5083447107

  22. 379869

    61654

    78060

    1081

    96040

    20341

    76233

    36187

    66868

    10

    Returns: 12764788286

  23. 367284

    48012

    55457

    52887

    6977

    3710

    59259

    50747

    40233

    39

    Returns: 1280806235

  24. 396552

    6595

    59528

    14562

    72340

    70176

    19806

    76134

    88012

    10

    Returns: 14491776705

  25. 332941

    70773

    63651

    99059

    73018

    62262

    52776

    19565

    17699

    14

    Returns: 2917097198

  26. 314845

    5070

    97901

    17355

    16290

    77690

    29339

    70949

    91833

    11

    Returns: 2421319791

  27. 305050

    23235

    24436

    34622

    30035

    59687

    14606

    94186

    76680

    11

    Returns: 4570861408

  28. 302309

    12077

    51069

    81965

    59941

    79963

    36152

    37062

    93545

    11

    Returns: 9009283522

  29. 398197

    78385

    8443

    19217

    15400

    63235

    39975

    47979

    63160

    32

    Returns: 3115398259

  30. 314632

    3431

    90757

    22214

    11624

    56717

    76844

    1979

    10364

    20

    Returns: 1628649882

  31. 336215

    64371

    43950

    13067

    79454

    4948

    7012

    84995

    69351

    16

    Returns: 11640057803

  32. 310164

    58609

    21621

    28807

    88277

    33928

    56657

    65421

    43531

    8

    Returns: 6563790034

  33. 306059

    98448

    26948

    82606

    34933

    28532

    68531

    76215

    13356

    22

    Returns: 2058567712

  34. 355227

    17332

    11299

    11255

    43702

    66055

    2038

    56702

    17482

    7

    Returns: 3104739382

  35. 306875

    52885

    9084

    60085

    82265

    64752

    97501

    49625

    62870

    3

    Returns: 9661283407

  36. 365048

    57981

    80953

    34021

    65846

    57445

    71808

    22198

    73895

    36

    Returns: 12109050334

  37. 396042

    10229

    82673

    36050

    43797

    17888

    67908

    43621

    19644

    13

    Returns: 3933455386

  38. 317102

    75152

    48822

    81068

    36452

    80949

    57556

    62928

    57838

    35

    Returns: 5786095244

  39. 343997

    91758

    80747

    71460

    54597

    68741

    85914

    76851

    22543

    0

    Returns: 9416678862

  40. 356140

    33234

    78176

    99071

    27414

    95128

    55732

    11422

    50282

    20

    Returns: 4892485088

  41. 340373

    73710

    83726

    64598

    65574

    45406

    31174

    46971

    60558

    28

    Returns: 10278911316

  42. 375825

    99526

    12726

    26901

    7206

    49262

    90622

    94167

    31433

    19

    Returns: 1353694655

  43. 375614

    33810

    75472

    40243

    55916

    85842

    88546

    83176

    18454

    18

    Returns: 3464371124

  44. 346279

    48607

    2267

    99599

    42812

    8566

    94156

    34337

    41788

    18

    Returns: 7344422942

  45. 349373

    68003

    71076

    4870

    26479

    22019

    78832

    7988

    81972

    40

    Returns: 4623064763

  46. 305551

    5833

    11384

    89349

    16167

    46503

    48256

    17147

    24090

    40

    Returns: 2521550764

  47. 388169

    46773

    9612

    73872

    8802

    69949

    93951

    8483

    76632

    10

    Returns: 1362378757

  48. 315161

    71316

    68897

    16143

    85448

    13183

    90920

    49218

    70528

    5

    Returns: 11485683933

  49. 400000

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    34

    Returns: 694670064

  50. 400000

    38583

    34208

    28512

    37494

    73460

    57932

    35075

    50497

    22

    Returns: 7418474756

  51. 400000

    83149

    23025

    64022

    56274

    93182

    65726

    24256

    12917

    9

    Returns: 2564243108

  52. 400000

    65640

    86762

    49762

    90818

    80265

    2443

    79745

    89425

    7

    Returns: 17557659310

  53. 400000

    63081

    74931

    59743

    14922

    45066

    65562

    78427

    57517

    5

    Returns: 2912347360

  54. 400000

    20770

    43599

    74218

    59113

    55607

    19683

    51867

    93543

    2

    Returns: 11864675463

  55. 400000

    58994

    4101

    7214

    25554

    55442

    62541

    21892

    35806

    32

    Returns: 5105489764

  56. 400000

    12995

    16870

    58759

    24864

    59148

    60275

    58119

    73349

    38

    Returns: 5385839750

  57. 400000

    66640

    17116

    47575

    4965

    25277

    70912

    64174

    97062

    8

    Returns: 975486480

  58. 400000

    71398

    6856

    97639

    36863

    57965

    8913

    75211

    72497

    13

    Returns: 7331880480

  59. 400000

    31606

    69347

    74035

    30099

    35017

    10902

    58660

    62050

    21

    Returns: 6032784434

  60. 400000

    74307

    12011

    27708

    91871

    59714

    99047

    55778

    15290

    21

    Returns: 3069351625

  61. 400000

    22065

    172

    98062

    68376

    99992

    2178

    33601

    92796

    29

    Returns: 14662371354

  62. 400000

    8202

    53835

    9247

    8127

    62373

    60342

    19984

    1603

    23

    Returns: 325980991

  63. 400000

    66120

    61188

    94739

    69014

    59606

    71537

    56126

    29551

    36

    Returns: 5849713190

  64. 400000

    22426

    87194

    88225

    93943

    52122

    30936

    18500

    72740

    6

    Returns: 14543705205

  65. 400000

    44093

    91169

    71336

    84828

    26751

    75507

    38532

    65688

    24

    Returns: 13044341468

  66. 400000

    13707

    75152

    25761

    327

    85981

    38018

    81775

    98677

    31

    Returns: 65046580

  67. 400000

    13923

    64903

    63976

    2882

    10038

    33312

    51802

    42221

    4

    Returns: 847422180

  68. 400000

    48019

    33783

    52606

    29250

    89651

    76426

    60666

    77307

    35

    Returns: 5865377595

  69. 400000

    54990

    81732

    40553

    28917

    26348

    14501

    78267

    75877

    4

    Returns: 6825464432

  70. 400000

    68515

    44669

    30899

    53466

    47921

    17724

    28476

    26790

    17

    Returns: 5455638363

  71. 400000

    71402

    36290

    32197

    56015

    56543

    80967

    11628

    28272

    18

    Returns: 6428446196

  72. 400000

    68182

    55734

    8037

    23930

    91788

    23407

    32300

    4189

    30

    Returns: 852141206

  73. 400000

    23121

    55530

    46373

    43080

    3202

    27716

    22631

    70905

    34

    Returns: 8595267360

  74. 400000

    57264

    57839

    3587

    38560

    16708

    20046

    81833

    30847

    3

    Returns: 6156554389

  75. 400000

    50666

    54602

    45786

    45494

    44123

    10610

    27844

    35453

    12

    Returns: 7076229901

  76. 400000

    93014

    46988

    90849

    57716

    11241

    69687

    42987

    15571

    35

    Returns: 3092743771

  77. 5

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    92790

    3

    Returns: 122365

  78. 400000

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    40

    Returns: 694650306

  79. 400000

    79069

    38583

    37552

    28512

    19281

    73460

    76410

    35075

    40

    Returns: 5367211176

  80. 400000

    38052

    7556

    1125

    43507

    56925

    49002

    5947

    68992

    40

    Returns: 8718930549

  81. 1

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    1

    Returns: 481

  82. 5

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    5

    Returns: 7201

  83. 35

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    35

    Returns: 60007

  84. 30

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    0

    Returns: 1225005

  85. 1

    16349

    65645

    58903

    81333

    62905

    2374

    21305

    3468

    0

    Returns: 16349

  86. 811

    45472

    75714

    82623

    73728

    32816

    61304

    713

    8786

    11

    Returns: 3464172

  87. 728

    73745

    59774

    79684

    93855

    93723

    45307

    89132

    21877

    1

    Returns: 8073484

  88. 48021

    57087

    69715

    27308

    42312

    32500

    21529

    13224

    9569

    20

    Returns: 230055716

  89. 8224

    75016

    54884

    97555

    6443

    19926

    9376

    96099

    58119

    2

    Returns: 26692511

  90. 76

    11925

    93576

    34198

    38779

    37771

    29430

    22731

    55321

    0

    Returns: 1575081

  91. 109829

    38351

    40846

    11533

    86751

    76536

    45613

    46849

    97675

    0

    Returns: 4763247593

  92. 7917

    18997

    89392

    69053

    32481

    98831

    96252

    54403

    35552

    40

    Returns: 124651839

  93. 385777

    586

    10939

    87843

    31377

    5913

    53662

    19265

    6941

    20

    Returns: 1345874525

  94. 2

    36706

    11826

    77486

    60981

    422

    22731

    43758

    12282

    2

    Returns: 7574

  95. 6320

    47905

    14292

    93770

    99155

    90378

    15041

    25823

    3206

    33

    Returns: 10327700

  96. 6320

    47905

    14292

    93770

    99155

    90378

    15041

    25823

    3206

    33

    Returns: 10327700

  97. 6397

    44065

    56226

    4388

    68905

    36378

    76486

    87158

    13559

    0

    Returns: 219769458

  98. 78469

    50583

    78190

    73091

    85787

    75218

    98256

    63204

    50812

    33

    Returns: 2003243669

  99. 106

    39119

    98795

    94804

    83110

    46251

    45898

    85880

    99157

    27

    Returns: 3154663

  100. 9304

    49049

    53263

    41777

    66236

    14669

    94912

    75678

    45182

    15

    Returns: 212441613

  101. 400000

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    92790

    40

    Returns: 18454523790

  102. 400000

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    92790

    3

    Returns: 18492207799

  103. 400000

    1

    2

    3

    4

    5

    6

    7

    8

    9

    Returns: 400000

  104. 40000

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    92790

    40

    Returns: 1816282005

  105. 40000

    14

    1

    2

    10

    18

    1

    10

    17

    40

    Returns: 159680

  106. 400000

    99993

    99993

    99993

    99993

    99993

    99993

    99993

    99993

    40

    Returns: 0

  107. 400000

    32543

    2344

    5436

    53543

    45

    5354

    345

    34456

    40

    Returns: 6922906917

  108. 400000

    121

    4563

    10101

    100000

    14104

    11

    101

    92111

    40

    Returns: 18388529623

  109. 399987

    42

    1337

    666

    99991

    77

    78

    103

    99989

    37

    Returns: 19781004079

  110. 400000

    100000

    94568

    92356

    91123

    91245

    93456

    94533

    92441

    40

    Returns: 18127087363

  111. 400000

    32525

    24526

    34442

    23472

    13421

    23424

    37429

    17865

    40

    Returns: 3570535001

  112. 400000

    1

    2

    3

    4

    1

    2

    3

    4

    40

    Returns: 400000

  113. 395483

    24123

    23423

    23423

    6234

    3463

    34563

    23423

    23235

    39

    Returns: 1277967190

  114. 400000

    1

    2

    3

    4

    5

    6

    7

    8

    40

    Returns: 400000

  115. 400000

    99996

    99995

    99994

    99993

    99992

    99991

    99989

    99987

    40

    Returns: 19564987098

  116. 400000

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    1000

    40

    Returns: 187967571

  117. 400000

    1

    7

    8

    12345

    1

    54

    123

    12345

    40

    Returns: 2486226079

  118. 400000

    56000

    36000

    36000

    30000

    36000

    36000

    30000

    30000

    39

    Returns: 6000

  119. 399999

    99999

    99998

    99997

    99996

    99995

    99994

    99993

    99992

    39

    Returns: 15990770137

  120. 400000

    0

    100000

    99999

    100000

    0

    100000

    99999

    100000

    38

    Returns: 39999500001

  121. 400000

    99793

    99791

    99787

    99991

    99593

    99591

    99597

    99991

    40

    Returns: 19850324161

  122. 400000

    234

    512

    43

    123

    423

    423

    123

    42

    40

    Returns: 6198441

  123. 50

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    92790

    40

    Returns: 1404811

  124. 400000

    99999

    1

    0

    100000

    99999

    1

    0

    100000

    0

    Returns: 39999600000

  125. 3

    14

    1

    2

    10

    18

    1

    10

    17

    0

    Returns: 18

  126. 400000

    23

    239

    51

    100000

    123

    1239

    151

    100000

    39

    Returns: 19896657800

  127. 400000

    14

    1

    2

    10

    18

    1

    10

    17

    40

    Returns: 1599680

  128. 400000

    99999

    1

    0

    100000

    0

    1

    0

    100000

    0

    Returns: 39999600000

  129. 400000

    85739

    94847

    93893

    98392

    92840

    93802

    93830

    92790

    0

    Returns: 19648498424

  130. 400000

    14

    1

    2

    10

    18

    1

    10

    17

    0

    Returns: 1600000

  131. 399998

    99996

    99995

    99994

    99993

    99992

    99991

    99989

    99987

    40

    Returns: 19564790180

  132. 40

    28096

    91234

    58614

    11231

    92747

    51369

    33881

    12051

    40

    Returns: 177049

  133. 3

    11

    10

    28

    59

    1

    1

    20

    100

    2

    Returns: 62


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: