Statistics

Problem Statement for "SalaryCalculator"

Problem Statement

At a certain company, a worker is paid an hourly rate of P1 dollars for the first 200 hours he works each month. He is paid an hourly rate of P2 dollars for the remaining hours. Return the minimum number of hours he must work this month to earn salary dollars.

Definition

Class:
SalaryCalculator
Method:
calcHours
Parameters:
int, int, int
Returns:
double
Method signature:
double calcHours(int P1, int P2, int salary)
(be sure your method is public)

Notes

  • Your return value must have an absolute or relative error less than 1e-9.

Constraints

  • P1 will be between 1 and 100, inclusive.
  • P2 will be between 1 and 100, inclusive.
  • salary will be between 1 and 1,000,000, inclusive.

Examples

  1. 10

    15

    1000

    Returns: 100.0

    The worker is paid 10 dollars per hour for the first 200 hours, and 15 dollars per hour for any hours beyond that. To earn 1000 dollars, he only needs to work 100 hours at 10 dollars per hour.

  2. 10

    15

    3000

    Returns: 266.6666666666667

    The worker is paid 10 dollars per hour for the first 200 hours for a total of 2000 dollars. To earn the extra 1000 dollars, he must work approximately 66.67 hours at 15 dollars per hour.

  3. 100

    1

    1000000

    Returns: 980200.0

    The company does not like to pay for overtime work.

  4. 17

    23

    973546

    Returns: 42380.260869565216

  5. 1

    1

    1

    Returns: 1.0

  6. 100

    100

    1

    Returns: 0.01

  7. 1

    1

    1000000

    Returns: 1000000.0

  8. 100

    100

    1000000

    Returns: 10000.0

  9. 66

    91

    127390

    Returns: 1454.8351648351647

  10. 20

    79

    994690

    Returns: 12740.379746835442

  11. 19

    6

    373405

    Returns: 61800.833333333336

  12. 99

    27

    620696

    Returns: 22455.40740740741

  13. 77

    31

    540150

    Returns: 17127.41935483871

  14. 82

    8

    12140

    Returns: 148.0487804878049

  15. 50

    4

    336360

    Returns: 81790.0

  16. 84

    73

    109660

    Returns: 1472.054794520548

  17. 10

    27

    475076

    Returns: 17721.333333333332

  18. 96

    33

    624452

    Returns: 18540.969696969696

  19. 17

    70

    925729

    Returns: 13376.128571428571

  20. 18

    25

    176165

    Returns: 7102.6

  21. 20

    7

    818309

    Returns: 116529.85714285714

  22. 37

    23

    775216

    Returns: 33583.30434782609

  23. 44

    93

    147324

    Returns: 1689.505376344086

  24. 60

    15

    486303

    Returns: 31820.2

  25. 97

    14

    116803

    Returns: 7157.357142857143

  26. 39

    54

    610647

    Returns: 11363.833333333334

  27. 69

    85

    595834

    Returns: 7047.458823529411

  28. 61

    68

    951304

    Returns: 14010.35294117647

  29. 70

    83

    493959

    Returns: 5982.638554216867

  30. 16

    24

    46990

    Returns: 2024.5833333333333

  31. 47

    61

    263887

    Returns: 4371.918032786885

  32. 59

    70

    655040

    Returns: 9389.142857142857

  33. 88

    3

    734077

    Returns: 239025.66666666666

  34. 46

    79

    993949

    Returns: 12665.177215189873

  35. 75

    13

    34749

    Returns: 1719.1538461538462

  36. 83

    94

    460468

    Returns: 4922.0

  37. 7

    8

    350351

    Returns: 43818.875

  38. 66

    82

    300859

    Returns: 3708.0365853658536

  39. 50

    34

    38278

    Returns: 1031.7058823529412

  40. 37

    85

    522836

    Returns: 6263.952941176471

  41. 73

    96

    726040

    Returns: 7610.833333333333

  42. 68

    66

    303293

    Returns: 4589.287878787879

  43. 47

    17

    949645

    Returns: 55508.529411764706

  44. 87

    57

    594798

    Returns: 10329.78947368421

  45. 21

    89

    471441

    Returns: 5449.898876404494

  46. 91

    49

    638651

    Returns: 12862.265306122448

  47. 16

    5

    105604

    Returns: 20680.8

  48. 76

    72

    94881

    Returns: 1306.6805555555557

  49. 19

    63

    878519

    Returns: 14084.42857142857

  50. 27

    93

    142122

    Returns: 1670.1290322580646

  51. 89

    3

    584414

    Returns: 189071.33333333334

  52. 9

    36

    537674

    Returns: 15085.388888888889

  53. 96

    75

    611890

    Returns: 8102.533333333334

  54. 41

    44

    315713

    Returns: 7188.931818181818

  55. 31

    5

    192429

    Returns: 37445.8

  56. 43

    27

    160408

    Returns: 5822.518518518518

  57. 47

    33

    754493

    Returns: 22778.575757575756

  58. 15

    23

    3000

    Returns: 200.0

  59. 82

    72

    4763

    Returns: 58.08536585365854

  60. 18

    86

    2307

    Returns: 128.16666666666666

  61. 89

    41

    19375

    Returns: 238.41463414634146

  62. 35

    11

    11373

    Returns: 597.5454545454545

  63. 60

    87

    16723

    Returns: 254.28735632183907

  64. 18

    73

    16119

    Returns: 371.4931506849315

  65. 14

    15

    8161

    Returns: 557.4

  66. 13

    82

    6396

    Returns: 246.29268292682926

  67. 60

    22

    4748

    Returns: 79.13333333333334

  68. 4

    45

    4522

    Returns: 282.7111111111111

  69. 44

    23

    18688

    Returns: 629.9130434782609

  70. 51

    28

    9724

    Returns: 190.66666666666666

  71. 11

    5

    3099

    Returns: 379.8

  72. 25

    80

    18300

    Returns: 366.25

  73. 62

    9

    13061

    Returns: 273.44444444444446

  74. 15

    24

    8994

    Returns: 449.75

  75. 58

    89

    1166

    Returns: 20.103448275862068

  76. 92

    82

    18327

    Returns: 199.20652173913044

  77. 76

    10

    14185

    Returns: 186.64473684210526

  78. 71

    20

    12579

    Returns: 177.16901408450704

  79. 3

    21

    1

    Returns: 0.3333333333333333

  80. 3

    2

    100

    Returns: 33.333333333333336

  81. 1

    5

    200

    Returns: 200.0

  82. 2

    11

    401

    Returns: 200.0909090909091

  83. 10

    20

    2000

    Returns: 200.0

  84. 13

    13

    200

    Returns: 15.384615384615385

  85. 5

    5

    4000

    Returns: 800.0

  86. 15

    20

    160

    Returns: 10.666666666666666

  87. 2

    1

    3

    Returns: 1.5

  88. 10

    15

    3000

    Returns: 266.6666666666667

  89. 10

    15

    2001

    Returns: 200.06666666666666

  90. 5

    10

    1200

    Returns: 220.0

  91. 2

    8

    401

    Returns: 200.125


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: