Statistics

Problem Statement for "ColumnDiagramPerimeter"

Problem Statement

A column diagram is composed of n consecutive columns arranged in a horizontal row. Each column has a width of 1, and the base of each column is on the x-axis. The heights of the columns are given in the int[] a, where a[i] is the height of the i-th column. The picture below shows an example of a column diagram:

Return the perimeter of the given column diagram.

Definition

Class:
ColumnDiagramPerimeter
Method:
getPerimiter
Parameters:
int[]
Returns:
int
Method signature:
int getPerimiter(int[] a)
(be sure your method is public)

Constraints

  • a will contain between 1 and 50 elements, inclusive.
  • Each element of a will be between 1 and 50, inclusive.

Examples

  1. {2,3,5,6,1}

    Returns: 22

    This column diagram is shown on the picture in the problem statement.

  2. {3,2,1}

    Returns: 12

  3. {2,2}

    Returns: 8

  4. {1,2,1}

    Returns: 10

  5. {1,2,3}

    Returns: 12

  6. {2,1,2}

    Returns: 12

  7. {50}

    Returns: 102

  8. {50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1}

    Returns: 2552

  9. {33}

    Returns: 68

  10. {27,50}

    Returns: 104

  11. {5,10,45}

    Returns: 96

  12. {21,6,26,7}

    Returns: 90

  13. {1,29,20,22,24}

    Returns: 76

  14. {33,35,46,34,31,38}

    Returns: 118

  15. {41,36,5,32,16,20,15}

    Returns: 158

  16. {18,40,37,35,21,32,7,15}

    Returns: 134

  17. {8,18,34,14,16,5,41,2,42}

    Returns: 242

  18. {48,19,45,49,6,21,6,5,13,50}

    Returns: 296

  19. {12,43,10,2,23,8,8,14,45,41,29}

    Returns: 224

  20. {28,7,6,9,33,8,17,13,15,16,3,12}

    Returns: 176

  21. {6,31,38,21,32,15,36,8,44,15,14,10,43}

    Returns: 304

  22. {9,34,16,33,21,24,11,17,15,19,43,19,41,45}

    Returns: 256

  23. {38,3,33,17,38,20,23,14,10,25,14,17,38,1,23}

    Returns: 336

  24. {36,41,15,13,42,48,3,42,27,26,18,16,12,26,40,41}

    Returns: 320

  25. {11,17,49,5,46,32,35,24,4,38,8,48,28,36,20,12,28}

    Returns: 416

  26. {48,7,29,14,34,41,11,36,42,49,42,24,43,43,2,18,9,43}

    Returns: 444

  27. {3,10,30,43,5,15,11,3,39,33,35,40,31,2,30,5,35,28,6}

    Returns: 346

  28. {1,41,44,26,41,16,33,18,5,29,21,30,8,31,33,26,21,18,11,31}

    Returns: 348

  29. {37,32,27,35,15,8,41,44,7,22,35,28,38,18,48,46,17,44,33,13,19}

    Returns: 406

  30. {45,4,37,4,17,22,41,50,35,27,11,50,24,3,18,36,3,38,35,39,39,11}

    Returns: 514

  31. {37,7,49,31,43,43,4,16,50,16,10,40,32,29,50,28,14,38,25,46,14,10,41}

    Returns: 574

  32. {33,46,21,16,21,6,31,10,16,10,35,14,41,43,1,7,39,49,22,45,50,14,32,10}

    Returns: 508

  33. {43,39,31,35,17,30,39,9,16,49,50,10,49,46,1,24,5,3,49,32,43,17,47,49,22}

    Returns: 572

  34. {8,24,23,48,21,29,17,31,17,24,49,27,35,11,20,35,6,13,41,19,42,25,21,18,5,22}

    Returns: 472

  35. {20,30,41,34,27,13,9,8,6,31,8,33,41,38,13,27,50,14,6,3,43,37,4,42,13,7,13}

    Returns: 494

  36. {20,21,27,19,15,10,46,4,20,16,43,32,44,12,18,46,36,34,46,21,20,5,42,38,31,21,22,7}

    Returns: 460

  37. {22,46,40,40,46,5,43,7,46,19,8,17,42,36,2,24,34,16,31,6,48,50,50,48,16,10,12,32,10}

    Returns: 610

  38. {24,46,35,43,35,45,18,25,5,30,14,6,23,19,19,36,1,36,15,10,41,1,27,3,12,18,26,9,17,35}

    Returns: 602

  39. {40,23,34,4,22,4,11,44,17,36,30,16,46,44,30,13,27,2,45,46,38,15,25,7,46,50,16,7,23,24,1}

    Returns: 634

  40. {46,21,17,36,48,13,28,39,50,30,35,14,4,49,3,12,29,48,25,27,24,11,47,29,6,30,31,4,15,30,27,19}

    Returns: 660

  41. {20,13,43,42,6,50,27,21,32,9,16,25,12,15,34,35,42,21,6,36,12,39,13,25,12,30,37,50,42,19,13,7,41}

    Returns: 650

  42. {9,25,10,38,12,24,3,26,8,37,30,44,5,45,49,8,23,19,50,1,14,10,29,11,3,46,19,38,9,15,28,7,47,26}

    Returns: 816

  43. {22,20,11,26,8,45,44,22,4,5,7,33,25,10,17,1,45,29,23,10,3,21,34,48,20,39,36,29,49,9,12,4,36,39,24}

    Returns: 622

  44. {2,37,16,27,11,31,23,32,13,48,41,2,11,30,2,43,28,47,11,24,46,39,38,32,26,16,30,1,3,39,10,11,15,5,48,15}

    Returns: 742

  45. {20,29,16,24,16,15,17,3,23,23,41,2,38,41,27,7,46,19,26,21,23,11,17,41,22,50,41,28,14,34,35,11,20,39,39,2,39}

    Returns: 690

  46. {30,31,24,34,28,50,35,18,43,9,12,16,22,45,1,39,15,41,35,49,10,42,21,14,22,21,22,35,13,50,42,10,7,44,32,10,36,29}

    Returns: 788

  47. {45,12,49,2,33,50,28,35,15,11,49,10,44,2,22,9,22,1,48,22,27,15,44,5,31,16,36,11,11,46,28,38,12,2,19,1,1,34,26}

    Returns: 1006

  48. {12,47,42,7,27,3,35,24,20,17,30,23,15,23,28,6,14,33,34,30,50,41,16,16,27,8,47,46,11,22,32,42,28,10,23,39,7,35,16,20}

    Returns: 710

  49. {50,20,18,37,2,39,10,39,26,24,29,42,31,47,32,20,50,4,47,8,22,37,14,47,20,2,18,10,28,39,45,41,40,27,15,18,17,2,2,32,23}

    Returns: 858

  50. {14,8,29,28,31,47,23,35,49,13,4,49,42,47,16,34,17,38,17,49,14,22,17,48,10,6,7,3,44,50,10,11,12,41,32,38,11,15,9,23,29,12}

    Returns: 782

  51. {27,9,7,49,10,45,16,14,34,13,35,44,24,45,1,31,23,31,44,10,29,49,42,29,29,41,8,48,29,45,36,19,13,36,37,42,14,45,47,16,50,14,38}

    Returns: 994

  52. {35,35,4,19,49,28,40,36,8,1,29,7,47,32,1,25,30,3,44,48,1,38,39,20,15,39,34,45,41,50,41,14,31,18,14,32,14,33,11,25,24,33,1,39}

    Returns: 950

  53. {44,1,49,37,17,1,25,42,2,45,19,36,5,33,25,5,1,46,49,35,40,25,49,3,12,11,24,23,41,21,48,43,39,33,10,13,11,6,35,26,49,41,3,21,2}

    Returns: 966

  54. {22,4,5,21,23,6,8,39,10,29,46,28,46,38,11,29,32,2,9,4,49,9,6,16,7,47,13,31,2,47,35,11,30,43,44,25,5,7,21,26,31,6,40,38,40,12}

    Returns: 910

  55. {13,12,44,7,39,32,28,21,23,47,30,18,49,43,49,13,31,28,3,40,33,17,46,19,25,44,36,47,11,50,10,50,32,12,25,36,41,29,4,48,9,6,37,19,49,28,5}

    Returns: 1040

  56. {4,41,47,9,50,40,34,10,48,47,42,10,20,34,1,33,32,8,3,36,37,11,7,13,41,17,35,17,40,19,26,48,20,45,5,24,25,9,2,5,35,48,47,3,49,40,46,33}

    Returns: 1022

  57. {13,50,30,5,2,3,8,36,18,37,41,16,41,1,38,46,45,26,18,27,31,14,37,41,9,13,46,7,17,41,21,39,21,21,23,25,3,19,8,6,40,16,11,23,3,45,9,16,31}

    Returns: 970

  58. {43,31,44,3,47,10,41,48,19,21,29,18,25,38,48,24,4,36,37,47,9,6,14,4,28,25,14,28,13,30,31,16,1,9,21,17,39,34,42,25,9,29,3,38,50,10,30,24,26,7}

    Returns: 948

  59. {50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50}

    Returns: 200

  60. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    Returns: 102

  61. {2, 1, 2 }

    Returns: 12

  62. {5, 1, 5 }

    Returns: 24

  63. {2, 3, 5, 6, 1 }

    Returns: 22

  64. {5, 3, 5 }

    Returns: 20

  65. {1 }

    Returns: 4

  66. {10, 2, 10 }

    Returns: 42

  67. {1, 3, 2, 3 }

    Returns: 16

  68. {1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3 }

    Returns: 54

  69. {3, 2, 3, 2, 5, 2 }

    Returns: 26

  70. {1, 2, 1, 3, 1, 2 }

    Returns: 22

  71. {5, 2, 5 }

    Returns: 22

  72. {3, 2, 1, 40 }

    Returns: 92

  73. {1, 2, 3, 5, 23, 44, 11, 22, 9, 32, 22 }

    Returns: 178

  74. {2, 1, 3, 2, 3 }

    Returns: 20

  75. {10, 5, 10 }

    Returns: 36

  76. {35, 4, 15 }

    Returns: 98

  77. {3, 2, 3 }

    Returns: 14

  78. {1, 2, 3, 4, 5, 1, 3, 2 }

    Returns: 30

  79. {5, 1, 3, 8, 2, 20, 4 }

    Returns: 74

  80. {5, 3, 5, 2, 3, 5 }

    Returns: 32

  81. {10, 3, 4, 1, 7 }

    Returns: 44

  82. {1, 2, 3, 4, 5, 4, 3, 2, 3, 4, 5, 4, 3, 2, 1 }

    Returns: 46

  83. {1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 }

    Returns: 50

  84. {1, 2, 3, 2, 1, 2, 3, 2, 1 }

    Returns: 28

  85. {10 }

    Returns: 22

  86. {1, 5, 2, 12, 2 }

    Returns: 40

  87. {2, 10, 2, 10, 2, 10, 2, 20, 1 }

    Returns: 106

  88. {2, 28, 15, 21, 10, 5, 39, 39, 3, 25 }

    Returns: 200

  89. {1, 5, 2, 4, 5, 6, 7, 1, 2, 4, 6, 5, 2, 4, 6, 7, 8, 8, 5, 3, 3, 3, 5, 6, 7 }

    Returns: 100

  90. {4, 2, 4 }

    Returns: 18


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: