Statistics

Problem Statement for "StairClimb"

Problem Statement

You are climbing a staircase. The staircase consists of some number of flights of stairs separated by landings. A flight is a a continuous series of stairs from one landing to another. You are a reasonably tall athletic person, so you can climb a certain number of stairs in one stride. However, after each flight, there is a landing which you cannot skip because you need to turn around for the next flight (which continues in the opposite direction).

You will be given the number of stairs in each flight in a int[] flights. Element 0 of flights represents the number of stairs in the first flight, element 1 is the number of stairs in the second flight, etc. You will also be given an int stairsPerStride, which is how many continuous stairs you climb in each stride. If it takes two strides to turn around at a landing, return the number of strides to get to the top of the staircase. You do not need to turn at the top of the staircase.

Definition

Class:
StairClimb
Method:
stridesTaken
Parameters:
int[], int
Returns:
int
Method signature:
int stridesTaken(int[] flights, int stairsPerStride)
(be sure your method is public)

Constraints

  • flights has between 1 and 50 elements, inclusive.
  • Each element of flights is between 5 and 30, inclusive.
  • stairsPerStride is between 2 and 5, inclusive.

Examples

  1. {15}

    2

    Returns: 8

    A simple staircase with 15 steps. In 7 strides, you've climbed 14 steps. However, you still have one step left, so you must use an additional stride to get to the top.

  2. {15,15}

    2

    Returns: 18

    This time, there are two flights with a landing in between. 8 strides to get to the first landing, 2 strides to turn around, and 8 more strides to get to the top makes 8+2+8=18 strides.

  3. {5,11,9,13,8,30,14}

    3

    Returns: 44

  4. {5,5,5}

    5

    Returns: 7

  5. {5}

    5

    Returns: 1

  6. {12, 6, 28, 11, 15, 6, 7, 23, 25, 6, 22, 30, 11, 16}

    3

    Returns: 103

  7. {25, 18, 24, 5, 24, 24, 17, 23, 10, 9, 22, 25, 27, 22, 16, 17, 12}

    5

    Returns: 102

  8. {7, 22, 8, 15, 14, 11, 6, 15, 29, 18, 12, 14, 5, 14, 27, 8, 18, 10, 10, 19, 13, 12, 29, 10, 14, 9, 29, 29, 13, 13, 28, 28, 25, 29, 13, 21, 29, 14, 11, 22, 14, 14, 17, 16, 10, 13, 12, 10}

    3

    Returns: 372

  9. {7, 18, 13, 29, 22, 15, 8, 29, 13, 26, 13, 9, 23, 19, 19, 27, 23, 7, 5, 7, 22, 25, 27, 17, 23, 12, 20, 21, 16, 21, 28, 19, 10, 6, 14, 23, 8, 15, 22}

    2

    Returns: 429

  10. {8, 14, 30, 22, 25, 16, 19, 22, 20, 12, 22, 10, 10, 5, 14, 21, 5, 25, 17, 5, 9, 24, 26, 18, 20, 28}

    2

    Returns: 278

  11. {30, 24, 17, 5, 18, 14, 14, 10, 21, 13, 19, 25, 13, 5, 29, 20, 22, 17, 19, 15, 26, 23, 30, 22, 24, 5, 10, 20, 9, 24, 16, 30}

    3

    Returns: 269

  12. {19, 15, 8, 9, 6, 9, 20, 20, 11, 8, 17}

    2

    Returns: 94

  13. {9, 30, 15, 27, 12, 7, 14, 6, 26, 19, 7, 23, 27, 16, 15, 10, 10, 10, 5, 19, 29, 14, 18, 26, 20, 30, 15, 9, 6, 27, 18, 28, 9, 19, 11, 10, 23, 13, 15, 23, 18}

    2

    Returns: 435

  14. {27, 5, 8, 23, 7, 15, 17, 26, 26, 19, 23, 24, 8, 29, 30, 6, 9, 6, 27, 26, 29, 9, 27, 25, 12, 30, 13, 22, 14, 5, 16, 10}

    4

    Returns: 219

  15. {15, 16, 27, 28, 6, 14, 25, 28, 30, 27, 7, 22, 17, 19}

    2

    Returns: 170

  16. {19, 11, 8, 11, 11, 7, 24, 22, 7, 22, 27, 9, 25, 11, 22, 12, 11, 10, 6, 7, 10, 11, 28, 19, 20, 24, 8, 24, 23, 10, 7, 14, 10, 7, 23}

    5

    Returns: 187

  17. {27, 20, 17, 30, 9, 18, 17, 24, 13, 21, 30, 26, 15, 12, 12, 10, 24, 25, 13, 27, 19, 13, 6, 21, 7, 20, 23, 7, 16, 15, 30, 30, 9, 24, 18, 10, 14, 12, 18, 14, 5, 22, 30, 23, 12, 16, 18, 8}

    5

    Returns: 281

  18. {23, 29, 6, 10, 22, 6, 7, 15, 11, 24, 24, 6, 16, 5, 24, 17, 25, 6, 27, 30, 23, 30, 19, 18, 22, 17, 15, 29, 17}

    2

    Returns: 325

  19. {8, 15, 26, 9, 29, 20, 22, 30, 14, 24, 26, 16, 13, 17, 6, 12, 10, 19, 29, 12, 28}

    2

    Returns: 236

  20. {25, 17, 26, 17, 29, 29, 24, 20, 29, 16, 10, 18, 18, 22, 5, 23}

    3

    Returns: 145

  21. {15, 30, 8, 26, 9, 28, 23, 12, 9, 15, 20, 18, 13, 17, 15, 15, 13, 29, 14, 16, 17, 17, 17, 28}

    3

    Returns: 194

  22. {11, 25, 7}

    3

    Returns: 20

  23. {26, 16, 12, 26, 29, 5, 19, 19, 16, 20, 7, 27, 14, 12, 8, 9, 9, 27, 7, 15, 24, 22, 17, 7, 28, 8, 27, 9, 20, 15, 16}

    3

    Returns: 242

  24. {14, 5, 8, 11, 23, 16, 14, 17, 5, 13, 12, 28, 29, 17, 25, 13, 13, 26, 12, 24, 22, 22, 13, 27, 18, 6, 24, 18, 11, 26, 12, 24}

    2

    Returns: 343

  25. {30, 22, 20, 8, 22, 24, 8, 12, 13, 9, 21, 25, 13, 11, 27, 19, 28, 16, 6, 7, 25, 15, 27, 30, 13, 28, 13, 21, 18, 14, 6, 15, 28, 28, 16, 13}

    5

    Returns: 215

  26. {14, 27, 29, 26, 8, 29, 8, 9, 22, 11, 27, 28, 12, 15, 30, 18, 26, 22}

    2

    Returns: 218

  27. {19, 7, 28, 15, 13, 9, 12}

    4

    Returns: 40

  28. {8, 24, 22, 17, 5, 12, 15, 19, 13, 23, 28, 25}

    3

    Returns: 97

  29. {15, 22, 20, 16, 15, 13, 7, 30}

    3

    Returns: 63

  30. {24, 30, 22, 13, 6, 23, 8, 15, 24, 17, 24, 19, 16, 22, 10, 30, 30, 8, 27, 13, 8, 5, 10, 7, 25, 15, 12, 26, 18, 30, 25, 14, 7, 13, 14, 9, 5, 25, 18}

    2

    Returns: 418

  31. {7, 18, 17, 28, 9, 6, 15, 30, 28, 28, 21, 7, 7, 15, 19}

    3

    Returns: 118

  32. {11, 28, 11, 17, 29, 5, 29, 10, 9, 7, 19, 9, 5, 8, 6, 11, 16, 24, 13, 21, 17, 7, 16, 15, 23, 12, 25, 6, 14, 15, 26, 15}

    4

    Returns: 195

  33. {10, 23, 11, 27, 14, 15, 27, 20, 22, 28, 30, 27, 8, 11, 11, 27, 11, 27, 27, 17, 23, 25, 16}

    2

    Returns: 280

  34. {15, 14, 16, 21, 27, 16, 26, 20}

    2

    Returns: 93

  35. {26, 17, 20, 6, 15, 9, 22, 5, 26, 23, 19, 26, 23, 16, 29, 11, 19, 5, 20, 6, 12, 9, 29, 21, 27, 14, 19, 24, 22, 28}

    4

    Returns: 207

  36. {15, 15, 5, 14, 15, 26, 27, 18, 9, 18, 18, 19, 20, 15, 22, 13, 25, 19, 28, 26, 10, 13, 13, 27, 29, 10, 17, 22, 10, 13}

    4

    Returns: 205

  37. {25, 6, 6}

    2

    Returns: 23

  38. {28, 27, 11, 23, 19, 7, 30, 30, 15, 18, 23, 30, 18, 14, 21, 16, 25, 16, 10, 9, 24, 28, 12, 7, 29, 29, 11, 13, 28, 18, 30}

    5

    Returns: 195

  39. {24, 30, 6, 5, 22, 23, 30, 7, 28, 18, 16, 26, 18, 28, 29, 13, 18, 7, 30, 30, 10, 27, 16, 24, 17, 15, 6, 16, 15, 14, 18, 5, 23, 18, 21, 29, 18, 19, 24, 13, 14, 21, 10, 25, 11, 12}

    4

    Returns: 321

  40. {6, 17, 6, 17, 20, 27, 8, 24, 23, 20, 12, 28, 8, 14, 12, 5, 20, 16, 19, 23}

    5

    Returns: 111

  41. {13, 24, 28, 22}

    2

    Returns: 50

  42. {28, 12, 24, 16, 14, 21, 16, 7, 12, 24, 28, 5, 27, 16, 22, 20, 7, 11, 22, 6, 17, 16, 14, 22, 21, 8}

    2

    Returns: 272

  43. {19, 7, 8, 10, 23, 5, 16, 8, 24, 12, 15, 9}

    5

    Returns: 57

  44. {12, 25, 19, 19, 16, 10, 11, 16, 16, 15, 22, 22, 5, 12, 20, 16, 20, 19, 13, 18, 26, 6, 12, 28, 9, 25, 24, 7, 16, 12, 20, 20, 11, 28, 25, 5, 30, 7, 29, 11, 19, 5, 9, 17, 12, 30, 18, 24, 12}

    3

    Returns: 388

  45. {27, 22, 5, 7, 27, 11, 13, 26, 25, 20, 15}

    4

    Returns: 74

  46. {12, 6, 11, 13, 5, 27}

    3

    Returns: 36

  47. {24, 27, 30, 13, 30, 19, 29, 21, 24, 21, 19, 25, 29, 25, 10, 20, 29, 29, 10, 27, 6, 16}

    2

    Returns: 290

  48. {16, 9, 20, 18, 17, 13, 28, 7, 11, 21, 19, 14, 17, 29, 21, 17, 5}

    5

    Returns: 96

  49. {17, 5, 30, 26, 14, 23, 13, 22, 28, 21, 23, 24, 19, 20, 26, 26, 12, 6, 10, 8, 29, 28, 22, 20, 15, 14, 27, 26, 22, 8, 15, 26, 29, 15}

    4

    Returns: 246

  50. {29, 29, 26, 26, 18, 15, 14, 5, 29, 7}

    4

    Returns: 73

  51. {25, 20, 21, 11, 18, 16, 5, 23, 21, 10, 20}

    5

    Returns: 62

  52. {22, 14, 17, 11, 22, 15, 14, 17, 24, 19, 22, 5, 13, 21, 13, 29, 14, 28, 13, 11, 26, 10, 10, 28, 13, 14, 29, 9, 6, 28, 6, 14, 7, 7, 15}

    2

    Returns: 360

  53. {24, 19, 27, 23, 18, 23, 28, 27, 14, 6, 7, 27, 22, 18, 29, 20, 9, 25, 22}

    5

    Returns: 121

  54. {8, 19, 25, 8, 9, 30, 21, 14, 24, 24, 27, 11, 25, 5, 30, 22, 7, 19, 25, 20, 8, 12, 11, 20, 27, 23, 19, 10, 30, 25, 30}

    3

    Returns: 266

  55. {7, 21, 21, 14, 29, 8, 28, 9, 5, 13, 15, 20, 28, 22, 12, 30, 24, 6, 18, 25, 12, 12, 15, 5, 25, 7, 5, 11, 27, 16, 17, 19, 7, 25, 15, 27, 21, 24, 10, 5, 16}

    2

    Returns: 430

  56. { 9, 9, 9 }

    3

    Returns: 13

  57. { 5, 11, 9, 13, 8, 30, 14 }

    3

    Returns: 44

  58. { 10, 10, 10, 10, 10, 10, 10 }

    5

    Returns: 26

  59. { 5, 6, 5, 12 }

    5

    Returns: 13

  60. { 5, 5 }

    3

    Returns: 6

  61. { 9, 9, 9, 9 }

    3

    Returns: 18

  62. { 15, 15, 16, 17 }

    2

    Returns: 39

  63. { 5, 12, 19, 13, 8, 30, 14, 22, 20 }

    4

    Returns: 55

  64. { 19, 24, 27, 17 }

    4

    Returns: 29

  65. { 17, 17 }

    3

    Returns: 14

  66. { 15 }

    4

    Returns: 4

  67. { 14 }

    5

    Returns: 3

  68. { 5, 5 }

    5

    Returns: 4


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: