Statistics

Problem Statement for "NumReverseHard"

Problem Statement

Take all the positive integers from A to B, inclusive.

Reverse as many of them as you like. (E.g., reversing 1234 changes it into 4321, and reversing 4700 turns it into 0074 = 74.)

Then, add them all up.

Calculate the largest possible result you can get. Return that result modulo (10^9 + 7).

Definition

Class:
NumReverseHard
Method:
getsum
Parameters:
long, long
Returns:
int
Method signature:
int getsum(long A, long B)
(be sure your method is public)

Constraints

  • B will be between 1 and 10^18 - 1, inclusive.
  • A will be between 1 and B, inclusive.

Examples

  1. 21

    23

    Returns: 75

    We have the numbers 21, 22, and 23. We can reverse 23 to get 32. This will give us the final sum 21 + 22 + 32 = 75, which is the largest result we can get from these three numbers.

  2. 12

    21

    Returns: 489

    Note that after we reverse 12, our collection of numbers will contain two separate 21s. Each of them contributes to the final sum.

  3. 97

    101

    Returns: 495

    Here an optimal solution is not to reverse anything.

  4. 123

    128

    Returns: 3426

    Here an optimal strategy is to reverse everything.

  5. 89

    234

    Returns: 67841

  6. 100000000000000000

    100000000000000000

    Returns: 300000007

    The only number is 10^17. The optimal strategy is not to reverse it (as reversing it changes its value to 1). Thus, the optimal sum is 10^17 and the correct return value is that modulo 10^9 + 7.

  7. 476

    6495899089

    Returns: 947452968

  8. 1

    1844864785

    Returns: 109579851

  9. 1145175955

    1149502749

    Returns: 485205786

  10. 784

    8135212

    Returns: 429647260

  11. 78435

    221263

    Returns: 206773283

  12. 445

    12564

    Returns: 191507718

  13. 4

    103

    Returns: 6727

  14. 3793

    685712084503910

    Returns: 915677000

  15. 108

    262891543798

    Returns: 381992265

  16. 13157

    43892

    Returns: 673938405

  17. 1638747516

    16288652856818

    Returns: 201995170

  18. 185

    11433032

    Returns: 837509164

  19. 1

    7532073

    Returns: 209659964

  20. 14

    336

    Returns: 127769

  21. 606

    1314

    Returns: 1894128

  22. 22

    59943

    Returns: 916369517

  23. 5

    7693

    Returns: 41631714

  24. 32

    6837

    Returns: 35086502

  25. 30232

    18921607123

    Returns: 959352063

  26. 6

    289

    Returns: 103558

  27. 8

    552

    Returns: 257630

  28. 5

    41109

    Returns: 731577783

  29. 823278

    965627896036

    Returns: 860320374

  30. 1

    6509

    Returns: 32721069

  31. 24

    66595347

    Returns: 696064712

  32. 902

    15062

    Returns: 318525215

  33. 3335

    490724826

    Returns: 970193497

  34. 165749267

    300306665

    Returns: 802441946

  35. 8844905366

    969763096245

    Returns: 671911640

  36. 11025888

    24805978

    Returns: 469258415

  37. 548

    2171226128377415

    Returns: 902199484

  38. 6923058137

    165878488098

    Returns: 99394356

  39. 261366086

    1465411756

    Returns: 551091371

  40. 52

    173

    Returns: 39150

  41. 3889

    66768945

    Returns: 146175956

  42. 3

    6448411

    Returns: 22292348

  43. 5677503

    5695941

    Returns: 11716844

  44. 1

    281

    Returns: 98517

  45. 97

    7151992

    Returns: 158345724

  46. 654295508

    1579906781387810

    Returns: 416891172

  47. 934325

    40725224496

    Returns: 203191256

  48. 3236

    364059861

    Returns: 713111536

  49. 19

    3397

    Returns: 13217851

  50. 799596077

    930708888

    Returns: 435588113

  51. 193215222728510

    832949477495608489

    Returns: 148935671

  52. 91

    97

    Returns: 658

  53. 225301

    7333945

    Returns: 597669860

  54. 3

    4539

    Returns: 19831647

  55. 174

    255

    Returns: 42438

  56. 1

    3893227

    Returns: 650875671

  57. 17

    154

    Returns: 31158

  58. 126

    133609434

    Returns: 615739886

  59. 409205

    795331

    Returns: 490785862

  60. 436577

    486669

    Returns: 390068252

  61. 15146

    79070

    Returns: 14400045

  62. 315

    4620

    Returns: 20206437

  63. 25

    2109090725

    Returns: 89326445

  64. 40336

    240186

    Returns: 772690921

  65. 1

    3357021040

    Returns: 29785222

  66. 2349

    33475978

    Returns: 592449230

  67. 3

    133

    Returns: 20977

  68. 5

    13

    Returns: 108

  69. 2

    520306036143

    Returns: 858642871

  70. 8

    3268056

    Returns: 7891241

  71. 2645293603699

    99034588024617343

    Returns: 776950956

  72. 19

    1946298995922863

    Returns: 660611085

  73. 12509774677372

    143580130706641

    Returns: 591129630

  74. 45996617

    381849621

    Returns: 667946965

  75. 157

    1907349848

    Returns: 933913108

  76. 4103285419904

    277154190158675813

    Returns: 876125929

  77. 410703148368

    7669261306861935

    Returns: 258766933

  78. 4090

    3023842344

    Returns: 216413381

  79. 27866590

    3294176569958

    Returns: 176613242

  80. 7

    75588914

    Returns: 743714708

  81. 7074

    77158176997

    Returns: 736606756

  82. 105141228013

    106918919451516

    Returns: 6191612

  83. 1459162

    1255502558154366

    Returns: 569256789

  84. 20

    31421756757

    Returns: 981731025

  85. 56345925

    211109456

    Returns: 82881170

  86. 30

    441

    Returns: 187620

  87. 1185452

    2375759

    Returns: 264267857

  88. 183633072

    2183041391050153

    Returns: 228900425

  89. 21

    18568082

    Returns: 222490637

  90. 3156

    8878527296414037

    Returns: 189841049

  91. 16355083833

    372045891551

    Returns: 266531593

  92. 592838937347

    17529479520781

    Returns: 945117460

  93. 433523059529

    900839281627

    Returns: 823585529

  94. 32

    12328470606880

    Returns: 723453259

  95. 23970232

    209107862

    Returns: 401326736

  96. 1485282

    3692102784026295

    Returns: 266868922

  97. 20254

    9444452725468401

    Returns: 428824383

  98. 23

    701344464057002

    Returns: 471121806

  99. 77593231

    25176049749275093

    Returns: 758498798

  100. 1909

    1698785

    Returns: 644475542

  101. 152495

    86665357457

    Returns: 763790657

  102. 5408

    511904

    Returns: 340457627

  103. 53371

    407295902057884

    Returns: 457011327

  104. 38

    37163664973817351

    Returns: 82584582

  105. 12001660

    223628464

    Returns: 228735428

  106. 8

    92770339553046

    Returns: 565826205

  107. 14339445167789525

    468243742410348600

    Returns: 117201290

  108. 51873266

    3942794915399

    Returns: 372589379

  109. 206

    139532

    Returns: 274846918

  110. 2286029414

    143193910098

    Returns: 233362613

  111. 3660599072

    737096550558751

    Returns: 350562113

  112. 2855527

    32229362812505481

    Returns: 483931252

  113. 12130589768

    1247674258908801

    Returns: 375855252

  114. 3410359265823

    1059222854165046

    Returns: 33998713

  115. 467159575

    999293832615381

    Returns: 712698496

  116. 40297

    51998

    Returns: 710401797

  117. 107

    243139738615312

    Returns: 365933148

  118. 2780036

    9501201114964956

    Returns: 533437289

  119. 10676395752

    30742114816217561

    Returns: 559828552

  120. 7120

    61833221501

    Returns: 190268282

  121. 39

    277949484299567881

    Returns: 942747542

  122. 56288187674534293

    128308278193691855

    Returns: 32632313

  123. 1809552

    3839023358972

    Returns: 508846166

  124. 894496949

    6228186735554391

    Returns: 91888880

  125. 83

    1578

    Returns: 3533657

  126. 4276417061

    176601744536

    Returns: 154802618

  127. 226850461955495071

    779691498663827129

    Returns: 607303

  128. 488038841218545464

    556451472049352993

    Returns: 8875603

  129. 290900747408519035

    775399346746941309

    Returns: 25741780

  130. 436261700841551226

    441345874549282887

    Returns: 845354209

  131. 610096279795852872

    923038084289080419

    Returns: 243355642

  132. 816420489154312984

    901365509133572219

    Returns: 333959194

  133. 16864657971502813

    992527423527948984

    Returns: 263805152

  134. 83204766387570012

    933191293051761537

    Returns: 189283608

  135. 480786517171949368

    865212091581208622

    Returns: 5595402

  136. 197875116999659091

    809050162799454265

    Returns: 874092411

  137. 242296191361850470

    509831404774146487

    Returns: 173439504

  138. 443961584857402266

    911411030112186125

    Returns: 76848750

  139. 143561430509412247

    971654155492045598

    Returns: 451261568

  140. 325831620326063803

    750106225512429737

    Returns: 934765766

  141. 31904185568548957

    575716028440144648

    Returns: 151668324

  142. 233985067296750778

    502901959838845688

    Returns: 87685442

  143. 119694171613872234

    482161646661672048

    Returns: 548890240

  144. 510986111204506995

    755770829770562521

    Returns: 120559157

  145. 366842948122695750

    528323516008266891

    Returns: 863195101

  146. 511944122076602218

    924330822767353054

    Returns: 919084522

  147. 456666645678

    6666798456781

    Returns: 229271216

  148. 3941696087409430

    894569703897342045

    Returns: 651210649


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: