Statistics

Problem Statement for "TooMuchExpectation"

Problem Statement

You have a set S which contains N distinct objects numbered from 0 to N - 1. You are also given 3 integers P, Q, and K.

We are going to execute the following steps:

  1. Choose a subset A of S uniformly at random. (Each of the 2|S| possible subsets is chosen with the same probability.)
  2. Let R = |A|.
  3. Choose an integer Y uniformly at random from the set {0, 1, ..., K}.
  4. Compute the weirdness of your choices: the value RY * (R+P)K-Y / (R+Q).

Find the expected value of weirdness: a fraction p/q. Return that fraction modulo 1,000,000,007.

Definition

Class:
TooMuchExpectation
Method:
findExpectedValue
Parameters:
int, long, int, int
Returns:
int
Method signature:
int findExpectedValue(int N, long P, int Q, int K)
(be sure your method is public)

Notes

  • Use 00 = 1.
  • It is guaranteed that P modulo 1,000,000,007 is not equal to 0.
  • If the correct answer is the reduced fraction p/q, the correct return value is (p*q-1) modulo 1,000,000,007, where q-1 is the inverse element to q.
  • For inputs that meet the given constraints the correct return value always exists.

Constraints

  • N will be between 1 and 900,000,000, inclusive.
  • P will be between 1 and 10,000,000,000,000,000, inclusive.
  • Q will be between 1 and 100,000, inclusive.
  • K will be between 1 and 500, inclusive.
  • P modulo 1,000,000,007 is not equal to 0.

Examples

  1. 721

    400

    828

    329

    Returns: 745150960

  2. 808

    499

    530

    384

    Returns: 100413881

  3. 831

    325

    865

    54

    Returns: 360470513

  4. 578

    383

    926

    377

    Returns: 608011535

  5. 598

    636

    963

    255

    Returns: 21662201

  6. 913

    414

    836

    51

    Returns: 842162873

  7. 791

    919

    579

    74

    Returns: 78820406

  8. 574

    601

    525

    275

    Returns: 504652058

  9. 571

    199

    683

    24

    Returns: 188183820

  10. 875

    921

    570

    251

    Returns: 928685714

  11. 476

    52

    715

    302

    Returns: 619642843

  12. 240

    544

    548

    39

    Returns: 48481462

  13. 281

    600

    972

    209

    Returns: 517702045

  14. 727

    869

    43

    365

    Returns: 790532481

  15. 740

    796

    832

    197

    Returns: 70636424

  16. 137

    779

    481

    293

    Returns: 653702142

  17. 262

    896

    255

    133

    Returns: 259097188

  18. 886

    226

    751

    300

    Returns: 54411798

  19. 288

    638

    690

    456

    Returns: 870301274

  20. 159

    355

    405

    72

    Returns: 886846246

  21. 659

    4645817790544334

    42002

    169

    Returns: 217549548

  22. 415

    9943325593058255

    96510

    97

    Returns: 322328375

  23. 680

    3082982852062306

    46857

    263

    Returns: 356457310

  24. 620

    7269729526914656

    20505

    180

    Returns: 778236598

  25. 113

    8851519094020995

    19479

    324

    Returns: 388554509

  26. 65

    1034476463774957

    31376

    327

    Returns: 5402020

  27. 613

    3976511528473505

    47317

    57

    Returns: 874405511

  28. 799

    9596782366703881

    4699

    87

    Returns: 340467816

  29. 614

    841940899667823

    84540

    247

    Returns: 759141635

  30. 694

    7186008835922563

    21493

    287

    Returns: 282036145

  31. 293

    2544549653616603

    678

    34

    Returns: 609536020

  32. 384

    9379590169907054

    30005

    410

    Returns: 858871436

  33. 588

    2967425119859737

    76043

    177

    Returns: 586591803

  34. 357

    5283831265520666

    67733

    57

    Returns: 107467499

  35. 474

    1970302708701592

    772

    92

    Returns: 370810170

  36. 118

    9562137501020952

    61165

    24

    Returns: 276521111

  37. 289

    2287490886183945

    94794

    415

    Returns: 263490471

  38. 574

    9229294389407034

    50936

    56

    Returns: 282927228

  39. 923

    1147702409502046

    6647

    440

    Returns: 104526154

  40. 483

    2253202558138767

    34765

    463

    Returns: 853176931

  41. 487

    8380917413674440

    51171

    333

    Returns: 981710768

  42. 96

    1428989475691882

    71814

    169

    Returns: 200919960

  43. 927

    9316815620672440

    12647

    493

    Returns: 945129677

  44. 22

    2949518722339931

    39260

    251

    Returns: 137620228

  45. 277

    2437750647784414

    84029

    422

    Returns: 74995028

  46. 565

    522360380776498

    39623

    347

    Returns: 968943991

  47. 168

    4800546602955052

    47325

    441

    Returns: 52296411

  48. 583

    3235583422028034

    2050

    245

    Returns: 528634890

  49. 922

    3736324857396434

    14976

    66

    Returns: 54416667

  50. 100

    3428930159082780

    36388

    51

    Returns: 232186363

  51. 713004389

    9999999999678650

    99991

    477

    Returns: 239441797

  52. 320295326

    9999999999797435

    99900

    432

    Returns: 396222374

  53. 754444856

    9999999999616637

    99949

    435

    Returns: 736418481

  54. 118329214

    9999999999538829

    99979

    433

    Returns: 826245546

  55. 676075518

    9999999999020511

    99922

    491

    Returns: 52434919

  56. 263240971

    9999999999184335

    99955

    414

    Returns: 496981841

  57. 322234430

    9999999999924581

    99969

    408

    Returns: 318976760

  58. 459987697

    9999999999422773

    99955

    459

    Returns: 920039441

  59. 11877826

    9999999999739267

    99962

    461

    Returns: 8232395

  60. 141972247

    9999999999555753

    99964

    450

    Returns: 527409497

  61. 590844564

    9999999999151803

    99970

    480

    Returns: 181258668

  62. 609383590

    9999999999111726

    99901

    469

    Returns: 565784475

  63. 671964923

    9999999999838167

    99923

    409

    Returns: 773579025

  64. 649381896

    9999999999580470

    99964

    430

    Returns: 29161253

  65. 898536322

    9999999999172051

    99999

    495

    Returns: 945613171

  66. 771228389

    9999999999931833

    99948

    494

    Returns: 367485771

  67. 521779952

    9999999999388215

    99999

    486

    Returns: 108921446

  68. 129405991

    9999999999481753

    99962

    454

    Returns: 530241088

  69. 365295440

    9999999999418042

    99978

    413

    Returns: 600928362

  70. 27569143

    9999999999061055

    99922

    402

    Returns: 244103154

  71. 378243306

    9999999999059352

    99965

    421

    Returns: 397099872

  72. 354323132

    9999999999514752

    99913

    421

    Returns: 251866782

  73. 198719558

    9999999999704282

    99980

    480

    Returns: 701059410

  74. 634563362

    9999999999677686

    99971

    412

    Returns: 685826601

  75. 746754351

    9999999999102459

    99915

    468

    Returns: 97641501

  76. 140322064

    9999999999179853

    99934

    459

    Returns: 824752206

  77. 878802860

    9999999999459511

    99995

    401

    Returns: 104878734

  78. 72585391

    9999999999614860

    99997

    485

    Returns: 567099370

  79. 411074824

    9999999999183863

    99997

    413

    Returns: 891670118

  80. 484079209

    9999999999475739

    99925

    444

    Returns: 608920199

  81. 899990316

    9999999999614925

    99937

    403

    Returns: 758449408

  82. 899999260

    9999999999973474

    99910

    426

    Returns: 877299753

  83. 899995247

    9999999999636407

    99947

    445

    Returns: 552133561

  84. 899990280

    9999999999147393

    99932

    460

    Returns: 341764750

  85. 899994727

    9999999999571762

    99915

    417

    Returns: 670592382

  86. 899999558

    9999999999901292

    99910

    477

    Returns: 900311679

  87. 899997317

    9999999999221803

    99963

    479

    Returns: 722704930

  88. 899990409

    9999999999084120

    99965

    414

    Returns: 678298423

  89. 899998379

    9999999999626663

    99919

    481

    Returns: 577147741

  90. 899990575

    9999999999411633

    99967

    404

    Returns: 106414821

  91. 899991903

    9999999999137235

    99914

    478

    Returns: 519398399

  92. 899998679

    9999999999382959

    99948

    438

    Returns: 488233918

  93. 899999335

    9999999999969030

    99947

    450

    Returns: 318166523

  94. 899999923

    9999999999992432

    99902

    450

    Returns: 767632093

  95. 899993514

    9999999999820676

    99926

    445

    Returns: 189610532

  96. 899997639

    9999999999118444

    99936

    496

    Returns: 613825983

  97. 899992371

    9999999999912100

    99912

    500

    Returns: 235533315

  98. 899991386

    9999999999405278

    99959

    421

    Returns: 412422406

  99. 899998695

    9999999999331377

    99975

    474

    Returns: 731719427

  100. 899992649

    9999999999176202

    99991

    466

    Returns: 36978018

  101. 899999924

    9999999999999996

    99970

    479

    Returns: 449913732

  102. 899999912

    9999999999999990

    99967

    472

    Returns: 110073281

  103. 899999967

    9999999999999990

    99970

    454

    Returns: 253034485

  104. 899999944

    9999999999999960

    99985

    495

    Returns: 699167161

  105. 899999917

    9999999999999965

    99964

    479

    Returns: 620769178

  106. 900000000

    9999999999999986

    99962

    470

    Returns: 250754662

  107. 899999983

    9999999999999954

    99982

    490

    Returns: 262853104

  108. 899999903

    9999999999999966

    99972

    496

    Returns: 518144813

  109. 899999976

    9999999999999979

    99997

    459

    Returns: 146502471

  110. 899999964

    9999999999999988

    99992

    457

    Returns: 144224167

  111. 899999973

    9999999999999958

    99984

    463

    Returns: 144909032

  112. 899999967

    9999999999999950

    99977

    482

    Returns: 597697679

  113. 899999977

    9999999999999951

    99974

    494

    Returns: 51158456

  114. 899999933

    9999999999999984

    99965

    493

    Returns: 901518407

  115. 899999907

    9999999999999975

    99979

    480

    Returns: 778592180

  116. 899999984

    9999999999999956

    99970

    494

    Returns: 466977345

  117. 899999958

    9999999999999966

    99996

    463

    Returns: 864785420

  118. 899999922

    9999999999999965

    99980

    466

    Returns: 327307896

  119. 899999921

    9999999999999976

    99998

    490

    Returns: 797866952

  120. 899999902

    9999999999999963

    99989

    498

    Returns: 342995401

  121. 899999910

    9999999999999952

    99952

    457

    Returns: 706798996

  122. 899999914

    9999999999999991

    99952

    491

    Returns: 431893084

  123. 899999980

    9999999999999957

    99995

    494

    Returns: 329399313

  124. 899999923

    9999999999999965

    99995

    462

    Returns: 183200374

  125. 899999979

    9999999999999967

    99951

    489

    Returns: 629083087

  126. 899999920

    9999999999999985

    99959

    480

    Returns: 965007078

  127. 899999986

    9999999999999972

    99988

    494

    Returns: 811481604

  128. 899999904

    9999999999999975

    99977

    484

    Returns: 982758001

  129. 899999923

    9999999999999995

    99997

    493

    Returns: 687981076

  130. 899999944

    9999999999999971

    99978

    456

    Returns: 137174501

  131. 899999969

    9999999999999993

    99950

    491

    Returns: 421759346

  132. 899999941

    9999999999999992

    99973

    468

    Returns: 160214029

  133. 899999940

    9999999999999991

    99971

    471

    Returns: 112212790

  134. 899999937

    9999999999999986

    99960

    460

    Returns: 672795611

  135. 899999940

    9999999999999960

    99960

    497

    Returns: 319686917

  136. 899999961

    9999999999999960

    99973

    453

    Returns: 145190846

  137. 899999961

    10000000000000000

    99983

    472

    Returns: 577198181

  138. 899999952

    9999999999999969

    99992

    499

    Returns: 763003842

  139. 900000000

    9999999999999988

    99996

    466

    Returns: 125082247

  140. 899999923

    9999999999999989

    99966

    492

    Returns: 370988324

  141. 899999920

    9999999999999996

    99971

    457

    Returns: 462655349

  142. 899999937

    9999999999999981

    99950

    471

    Returns: 688213693

  143. 899999963

    9999999999999993

    99954

    485

    Returns: 30683936

  144. 899999990

    9999999999999957

    99966

    468

    Returns: 797035855

  145. 899999957

    9999999999999986

    99963

    455

    Returns: 141642525

  146. 899999971

    9999999999999993

    99960

    498

    Returns: 437507069

  147. 899999963

    9999999999999993

    99987

    458

    Returns: 73714867

  148. 899999934

    9999999999999981

    99951

    496

    Returns: 37095192

  149. 899999965

    9999999999999979

    99968

    465

    Returns: 387674007

  150. 899999909

    9999999999999965

    99972

    485

    Returns: 323882012

  151. 1

    1

    1

    1

    Returns: 625000005

    The given set is S = {0}. We have four equally likely cases: We choose the subset {} and Y=0: weirdness is 00 * 11 / 1 = 1. We choose the subset {} and Y=1: weirdness is 01 * 10 / 1 = 0. We choose the subset {0} and Y=0: weirdness is 10 * 21 / 2 = 1. We choose the subset {0} and Y=1: weirdness is 11 * 20 / 2 = 1/2. Thus, the expected weirdness is (1 + 0 + 1 + 1/2) / 4 = 5/8. The correct return value is (5 * 8-1) modulo 1000000007 = (5 * 125000001) modulo 1000000007 = 625000005.

  152. 1

    1

    1

    2

    Returns: 750000006

    Here the exact answer is 3/4.

  153. 100

    100

    100

    100

    Returns: 224580006

  154. 900000000

    10000000000000000

    10000

    500

    Returns: 459797508


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: