Statistics

Problem Statement for "MinimizeAbsoluteDifferenceDiv2"

Problem Statement

You are given three positive integers: the ints x0, x1, and x2. You have the following expression: |(?/?) - ?|. You want to replace the three question marks with your three integers in some order. In what order should you place the three integers if your goal is to make the result as small as possible?

More formally, you have an expression of the form | (xa / xb) - xc |. Here, "/" denotes real division (e.g., 7/2 = 3.5), and "||" denotes absolute value. Your task is to choose three distinct subscripts a, b, c so that the value of the expression is as small as possible.

Return a int[] with three elements: the optimal values {a, b, c}. If there are multiple optimal answers, you may return any of them.

Definition

Class:
MinimizeAbsoluteDifferenceDiv2
Method:
findTriple
Parameters:
int, int, int
Returns:
int[]
Method signature:
int[] findTriple(int x0, int x1, int x2)
(be sure your method is public)

Constraints

  • x0 will be between 1 and 10,000, inclusive.
  • x1 will be between 1 and 10,000, inclusive.
  • x2 will be between 1 and 10,000, inclusive.

Examples

  1. 1

    1

    1

    Returns: {0, 1, 2 }

    Regardless of our choice of subscripts, the expression is always evaluated to |(1/1) - 1| = 0. Any of the six permutations of {0, 1, 2} is a correct answer.

  2. 1

    2

    3

    Returns: {1, 2, 0 }

    The return value {1, 2, 0} corresponds to the expression |(x1 / x2) - x0| = |2/3 - 1| = 1/3 = 0.333333. This is the only optimal choice of {a, b, c}, all other choices produce expressions with a larger value.

  3. 7

    20

    5

    Returns: {1, 0, 2 }

    This set of subscripts produces an expression with the value 15/7.

  4. 6

    2

    3

    Returns: {0, 1, 2 }

    There are two correct answers: {0, 1, 2} and {0, 2, 1}. You may return either of them.

  5. 10

    11

    111

    Returns: {2, 1, 0 }

  6. 34

    90

    4

    Returns: {1, 0, 2 }

  7. 53

    86

    99

    Returns: {2, 1, 0 }

  8. 35

    22

    77

    Returns: {2, 0, 1 }

  9. 50

    93

    97

    Returns: {2, 1, 0 }

  10. 36

    96

    29

    Returns: {1, 0, 2 }

  11. 61

    70

    82

    Returns: {2, 1, 0 }

  12. 93

    11

    34

    Returns: {0, 2, 1 }

  13. 34

    27

    44

    Returns: {2, 0, 1 }

  14. 41

    19

    72

    Returns: {2, 0, 1 }

  15. 14

    75

    48

    Returns: {1, 2, 0 }

  16. 67

    88

    45

    Returns: {1, 0, 2 }

  17. 25

    23

    73

    Returns: {2, 0, 1 }

  18. 43

    1

    20

    Returns: {2, 0, 1 }

  19. 54

    24

    51

    Returns: {0, 2, 1 }

  20. 93

    42

    88

    Returns: {0, 2, 1 }

  21. 15

    21

    45

    Returns: {2, 1, 0 }

  22. 45

    91

    31

    Returns: {1, 0, 2 }

  23. 89

    14

    7

    Returns: {0, 1, 2 }

  24. 70

    19

    27

    Returns: {0, 2, 1 }

  25. 94

    41

    63

    Returns: {0, 2, 1 }

  26. 418

    450

    428

    Returns: {1, 2, 0 }

  27. 613

    820

    508

    Returns: {1, 0, 2 }

  28. 445

    137

    965

    Returns: {2, 0, 1 }

  29. 640

    493

    425

    Returns: {0, 1, 2 }

  30. 795

    936

    539

    Returns: {1, 0, 2 }

  31. 694

    653

    648

    Returns: {0, 1, 2 }

  32. 316

    788

    608

    Returns: {1, 2, 0 }

  33. 868

    318

    448

    Returns: {0, 2, 1 }

  34. 520

    935

    528

    Returns: {1, 2, 0 }

  35. 514

    524

    643

    Returns: {2, 1, 0 }

  36. 263

    740

    390

    Returns: {1, 2, 0 }

  37. 543

    903

    755

    Returns: {1, 2, 0 }

  38. 157

    686

    369

    Returns: {1, 2, 0 }

  39. 254

    906

    883

    Returns: {1, 2, 0 }

  40. 621

    242

    358

    Returns: {0, 2, 1 }

  41. 286

    878

    582

    Returns: {1, 2, 0 }

  42. 761

    348

    487

    Returns: {0, 2, 1 }

  43. 323

    614

    165

    Returns: {1, 0, 2 }

  44. 824

    345

    277

    Returns: {0, 1, 2 }

  45. 435

    535

    934

    Returns: {2, 1, 0 }

  46. 478

    701

    299

    Returns: {1, 0, 2 }

  47. 564

    920

    64

    Returns: {1, 0, 2 }

  48. 838

    91

    883

    Returns: {2, 0, 1 }

  49. 929

    773

    461

    Returns: {0, 1, 2 }

  50. 548

    987

    465

    Returns: {1, 0, 2 }

  51. 150

    483

    106

    Returns: {1, 0, 2 }

  52. 199

    767

    672

    Returns: {1, 2, 0 }

  53. 505

    740

    14

    Returns: {1, 0, 2 }

  54. 540

    751

    114

    Returns: {1, 0, 2 }

  55. 255

    387

    144

    Returns: {1, 0, 2 }

  56. 2543

    2202

    6640

    Returns: {2, 0, 1 }

  57. 5561

    9136

    8314

    Returns: {1, 2, 0 }

  58. 5279

    2613

    9542

    Returns: {2, 0, 1 }

  59. 8862

    8441

    3643

    Returns: {0, 1, 2 }

  60. 5504

    6295

    6843

    Returns: {2, 1, 0 }

  61. 9874

    9746

    7590

    Returns: {0, 1, 2 }

  62. 5787

    5193

    7353

    Returns: {2, 0, 1 }

  63. 3455

    9988

    413

    Returns: {1, 0, 2 }

  64. 5937

    9065

    5178

    Returns: {1, 0, 2 }

  65. 4045

    4221

    3832

    Returns: {1, 0, 2 }

  66. 4051

    3197

    7860

    Returns: {2, 0, 1 }

  67. 8508

    1666

    1981

    Returns: {0, 2, 1 }

  68. 5117

    833

    3000

    Returns: {0, 2, 1 }

  69. 994

    141

    7694

    Returns: {2, 0, 1 }

  70. 4369

    8866

    6292

    Returns: {1, 2, 0 }

  71. 5962

    3796

    8251

    Returns: {2, 0, 1 }

  72. 7421

    4699

    8118

    Returns: {2, 0, 1 }

  73. 9194

    6943

    3887

    Returns: {0, 1, 2 }

  74. 3020

    216

    5216

    Returns: {2, 0, 1 }

  75. 8165

    4850

    3555

    Returns: {0, 1, 2 }

  76. 2462

    2973

    9948

    Returns: {2, 1, 0 }

  77. 2346

    3628

    7705

    Returns: {2, 1, 0 }

  78. 561

    7670

    1216

    Returns: {1, 2, 0 }

  79. 8407

    4087

    7325

    Returns: {0, 2, 1 }

  80. 8827

    3621

    5610

    Returns: {0, 2, 1 }

  81. 8571

    7498

    4041

    Returns: {0, 1, 2 }

  82. 6864

    20

    853

    Returns: {0, 2, 1 }

  83. 2127

    1550

    9838

    Returns: {2, 0, 1 }

  84. 7913

    3851

    4199

    Returns: {0, 2, 1 }

  85. 8382

    12

    6902

    Returns: {0, 2, 1 }

  86. 9339

    2002

    5267

    Returns: {0, 2, 1 }

  87. 2052

    3348

    1548

    Returns: {1, 0, 2 }

  88. 7336

    3679

    7768

    Returns: {2, 0, 1 }

  89. 5783

    1185

    7674

    Returns: {2, 0, 1 }

  90. 8579

    9961

    5500

    Returns: {1, 0, 2 }

  91. 8782

    8177

    4762

    Returns: {0, 1, 2 }

  92. 1604

    4617

    1681

    Returns: {1, 2, 0 }

  93. 8048

    9767

    4852

    Returns: {1, 0, 2 }

  94. 7585

    9196

    9735

    Returns: {2, 1, 0 }

  95. 6434

    4369

    9266

    Returns: {2, 0, 1 }

  96. 3392

    5264

    5759

    Returns: {2, 1, 0 }

  97. 3360

    5161

    4495

    Returns: {1, 2, 0 }

  98. 2622

    5811

    7649

    Returns: {2, 1, 0 }

  99. 9580

    6797

    4504

    Returns: {0, 1, 2 }

  100. 4897

    4895

    7644

    Returns: {2, 0, 1 }

  101. 3531

    5340

    4881

    Returns: {1, 2, 0 }

  102. 3317

    7161

    5481

    Returns: {1, 2, 0 }

  103. 7003

    1686

    3819

    Returns: {0, 2, 1 }

  104. 8272

    7857

    3668

    Returns: {0, 1, 2 }

  105. 2188

    6858

    3871

    Returns: {1, 2, 0 }

  106. 9713

    9458

    8940

    Returns: {0, 1, 2 }

  107. 9916

    7494

    9048

    Returns: {0, 2, 1 }

  108. 7468

    7476

    5291

    Returns: {1, 0, 2 }

  109. 9745

    8166

    7761

    Returns: {0, 1, 2 }

  110. 8756

    6761

    9363

    Returns: {2, 0, 1 }

  111. 5665

    6541

    6013

    Returns: {1, 2, 0 }

  112. 9283

    8403

    9198

    Returns: {0, 2, 1 }

  113. 5272

    5485

    6820

    Returns: {2, 1, 0 }

  114. 7820

    8738

    9567

    Returns: {2, 1, 0 }

  115. 9620

    8477

    7878

    Returns: {0, 1, 2 }

  116. 9433

    9353

    7941

    Returns: {0, 1, 2 }

  117. 8047

    9854

    9172

    Returns: {1, 2, 0 }

  118. 8162

    5594

    8268

    Returns: {2, 0, 1 }

  119. 7301

    8148

    7257

    Returns: {1, 0, 2 }

  120. 9089

    8986

    7152

    Returns: {0, 1, 2 }

  121. 5268

    5244

    5619

    Returns: {2, 0, 1 }

  122. 5486

    7683

    5026

    Returns: {1, 0, 2 }

  123. 6870

    7412

    9127

    Returns: {2, 1, 0 }

  124. 8338

    7733

    8505

    Returns: {2, 0, 1 }

  125. 5383

    5666

    6785

    Returns: {2, 1, 0 }

  126. 9331

    9210

    9260

    Returns: {0, 2, 1 }

  127. 9023

    9447

    9051

    Returns: {1, 2, 0 }

  128. 9689

    9087

    9772

    Returns: {2, 0, 1 }

  129. 9046

    9259

    9751

    Returns: {2, 1, 0 }

  130. 9117

    9772

    9850

    Returns: {2, 1, 0 }

  131. 9878

    9547

    9514

    Returns: {0, 1, 2 }

  132. 9494

    9023

    9046

    Returns: {0, 2, 1 }

  133. 9113

    9154

    9086

    Returns: {1, 0, 2 }

  134. 9451

    9995

    9958

    Returns: {1, 2, 0 }

  135. 9393

    9726

    9314

    Returns: {1, 0, 2 }

  136. 9649

    9360

    9833

    Returns: {2, 0, 1 }

  137. 9179

    9447

    9266

    Returns: {1, 2, 0 }

  138. 9401

    9285

    9877

    Returns: {2, 0, 1 }

  139. 9299

    9344

    9310

    Returns: {1, 2, 0 }

  140. 9451

    9160

    9468

    Returns: {2, 0, 1 }

  141. 9384

    9416

    9243

    Returns: {1, 0, 2 }

  142. 9754

    9957

    9284

    Returns: {1, 0, 2 }

  143. 9139

    9922

    9583

    Returns: {1, 2, 0 }

  144. 9490

    9571

    9351

    Returns: {1, 0, 2 }

  145. 9642

    9194

    9877

    Returns: {2, 0, 1 }

  146. 9127

    9455

    9320

    Returns: {1, 2, 0 }

  147. 9363

    9192

    9249

    Returns: {0, 2, 1 }

  148. 9706

    9413

    9421

    Returns: {0, 2, 1 }

  149. 9996

    9926

    9433

    Returns: {0, 1, 2 }

  150. 9656

    9558

    9518

    Returns: {0, 1, 2 }

  151. 9625

    9590

    9410

    Returns: {0, 1, 2 }

  152. 9752

    9362

    9899

    Returns: {2, 0, 1 }

  153. 9503

    9005

    9318

    Returns: {0, 2, 1 }

  154. 9588

    9267

    9082

    Returns: {0, 1, 2 }

  155. 9503

    9118

    9801

    Returns: {2, 0, 1 }

  156. 10

    10

    10

    Returns: {0, 1, 2 }

  157. 1

    2

    1

    Returns: {0, 1, 2 }

  158. 7

    2

    5

    Returns: {0, 2, 1 }

  159. 3

    1

    2

    Returns: {2, 0, 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: