Statistics

Problem Statement for "SRMRoomAssignmentPhase"

Problem Statement

Mr. Dengklek introduced you to an online programming contest called SRM (Special Round Match)!

There are N coders in the contest, including you. Each coder has a skill measurement called rating. This information is given in ratings, where ratings[0] is your rating and ratings[1] through ratings[N-1] are the ratings of the other coders. Ratings of all coders are pairwise distinct.

You are now in the room assignment phase of the contest. There are K available rooms. Each coder will be assigned to exactly one room in the following way: the coders, in descending order of their ratings, are assigned one-by-one to rooms 1, 2, ..., K, 1, 2, ..., K, ... and so on in that order. See the examples for further clarification.

You wish to win your room, so you wonder how many stronger competitors you have. Return the number of coders in your room who have higher ratings than yours.

Definition

Class:
SRMRoomAssignmentPhase
Method:
countCompetitors
Parameters:
int[], int
Returns:
int
Method signature:
int countCompetitors(int[] ratings, int K)
(be sure your method is public)

Constraints

  • ratings will contain between 2 and 50 elements, inclusive.
  • Each element of ratings will be between 0 and 1199, inclusive.
  • All elements of ratings will be distinct.
  • K will be between 1 and the number of elements in ratings, inclusive.

Examples

  1. {491, 981, 1199, 763, 994, 879, 888}

    3

    Returns: 2

    Here is the room assignment for all coders. Room 1 coders' ratings: 1199 888 491 Room 2 coders' ratings: 994 879 Room 3 coders' ratings: 981 763 You are in Room 1, and there are 2 coders with greater ratings than yours.

  2. {1024, 1000, 600}

    1

    Returns: 0

    You are the highest rated coder in Room 1.

  3. {505, 679, 900, 1022}

    2

    Returns: 1

    You are the lowest rated coder in Room 2.

  4. {716, 58, 1000, 1004, 912, 822, 453, 1100, 558}

    3

    Returns: 1

    You are the second highest rated coder in Room 3.

  5. {422, 623, 1023, 941, 882, 776, 852, 495, 803, 622, 618, 532, 751, 500}

    4

    Returns: 3

  6. {1197, 1198, 1196, 1195, 1199}

    1

    Returns: 2

  7. {0, 1}

    2

    Returns: 0

  8. {1199, 1198}

    2

    Returns: 0

  9. {1199, 1198, 1197, 1196, 1195, 1194, 1193, 1192, 1191, 1190, 1189, 1188, 1187, 1186, 1185, 1184, 1183, 1182, 1181, 1180, 1179, 1178, 1177, 1176, 1175, 1174, 1173, 1172, 1171, 1170, 1169, 1168, 1167, 1166, 1165, 1164, 1163, 1162, 1161, 1160, 1159, 1158, 1157, 1156, 1155, 1154, 1153, 1152, 1151, 1150}

    7

    Returns: 0

  10. {1199, 1198, 1197, 1196, 1195, 1194, 1193, 1192, 1191, 1190, 1189, 1188, 1187, 1186, 1185, 1184, 1183, 1182, 1181, 1180, 1179, 1178, 1177, 1176, 1175, 1174, 1173, 1172, 1171, 1170, 1169, 1168, 1167, 1166, 1165, 1164, 1163, 1162, 1161, 1160, 1159, 1158, 1157, 1156, 1155, 1154, 1153, 1152, 1151, 1150}

    50

    Returns: 0

  11. {151, 534}

    2

    Returns: 0

  12. {734, 808, 878}

    1

    Returns: 2

  13. {659, 1122, 274, 806}

    2

    Returns: 1

  14. {316, 1189, 740, 414, 674}

    1

    Returns: 4

  15. {207, 289, 222, 567, 440, 832}

    2

    Returns: 2

  16. {607, 99, 312, 1173, 932, 621, 1181}

    5

    Returns: 0

  17. {123, 971, 1099, 1019, 883, 863, 78, 922}

    2

    Returns: 3

  18. {73, 703, 1038, 1182, 724, 95, 994, 358, 826}

    2

    Returns: 4

  19. {20, 235, 522, 620, 438, 156, 278, 1143, 756, 816}

    9

    Returns: 1

  20. {176, 720, 1165, 809, 214, 394, 103, 170, 208, 474, 826}

    1

    Returns: 8

  21. {1, 1021, 809, 1052, 645, 1087, 359, 954, 175, 307, 968, 120}

    2

    Returns: 5

  22. {207, 899, 289, 387, 321, 293, 846, 475, 882, 743, 311, 379, 531}

    2

    Returns: 6

  23. {365, 784, 251, 899, 753, 481, 439, 512, 637, 162, 830, 776, 460, 957}

    7

    Returns: 1

  24. {1002, 504, 380, 1120, 423, 21, 172, 664, 1067, 347, 931, 1012, 923, 718, 105}

    15

    Returns: 0

  25. {140, 252, 303, 403, 507, 830, 338, 785, 437, 673, 10, 199, 710, 907, 812, 1066}

    4

    Returns: 3

  26. {353, 430, 756, 1157, 942, 561, 135, 1104, 404, 812, 1057, 872, 662, 885, 1059, 630, 408}

    3

    Returns: 5

  27. {466, 935, 965, 169, 692, 768, 817, 185, 758, 1004, 747, 205, 1070, 1166, 1196, 738, 1071, 736}

    9

    Returns: 1

  28. {74, 729, 1191, 26, 1089, 400, 839, 391, 1128, 871, 966, 944, 472, 832, 395, 187, 1176, 99, 758}

    7

    Returns: 2

  29. {1000, 852, 496, 1194, 372, 214, 438, 274, 1085, 180, 360, 176, 381, 971, 698, 806, 1073, 163, 110, 2}

    18

    Returns: 0

  30. {414, 1038, 796, 364, 1003, 1016, 643, 578, 653, 462, 923, 732, 674, 635, 293, 1172, 1070, 53, 627, 197, 58}

    15

    Returns: 1

  31. {200, 810, 395, 344, 774, 346, 720, 396, 1166, 552, 1193, 1113, 19, 338, 1114, 892, 332, 671, 694, 258, 502, 277}

    10

    Returns: 2

  32. {17, 848, 495, 514, 733, 627, 112, 131, 747, 844, 134, 329, 941, 204, 402, 1168, 654, 838, 847, 852, 133, 916, 843}

    21

    Returns: 1

  33. {419, 617, 1165, 213, 900, 388, 446, 921, 1045, 928, 511, 1134, 86, 9, 946, 662, 980, 952, 814, 1047, 1030, 104, 880, 244}

    2

    Returns: 8

  34. {195, 1128, 340, 336, 800, 53, 324, 337, 725, 1007, 1155, 417, 1118, 713, 909, 108, 71, 92, 979, 814, 486, 1106, 256, 804, 925}

    5

    Returns: 4

  35. {123, 1000, 852, 484, 943, 2, 1191, 825, 908, 1153, 821, 506, 112, 1101, 164, 378, 274, 1039, 622, 859, 646, 409, 922, 170, 627, 670}

    4

    Returns: 5

  36. {184, 1147, 1162, 59, 297, 1079, 748, 728, 474, 257, 472, 725, 1067, 918, 699, 682, 790, 685, 1198, 136, 984, 778, 932, 563, 577, 353, 1017}

    3

    Returns: 8

  37. {53, 1058, 242, 578, 1169, 664, 539, 544, 362, 522, 724, 974, 697, 68, 89, 1052, 468, 323, 1071, 1091, 1107, 538, 490, 408, 916, 937, 997, 995}

    1

    Returns: 27

  38. {325, 1022, 268, 350, 337, 799, 515, 475, 221, 406, 1031, 1156, 251, 1174, 149, 551, 130, 93, 1198, 237, 965, 744, 599, 840, 269, 367, 43, 208, 747}

    2

    Returns: 9

  39. {355, 596, 58, 563, 276, 338, 279, 607, 218, 525, 854, 163, 484, 5, 807, 966, 499, 160, 739, 656, 153, 518, 993, 586, 967, 1118, 985, 911, 251, 862}

    2

    Returns: 9

  40. {67, 245, 634, 914, 1088, 1132, 979, 1124, 230, 1151, 409, 284, 479, 829, 404, 296, 525, 720, 632, 478, 483, 444, 947, 853, 131, 585, 1136, 191, 259, 509, 447}

    10

    Returns: 3

  41. {230, 353, 328, 434, 871, 92, 1153, 886, 1183, 621, 165, 847, 500, 331, 583, 945, 438, 644, 996, 795, 340, 976, 736, 1158, 691, 301, 656, 958, 971, 39, 223, 137}

    5

    Returns: 5

  42. {21, 138, 764, 875, 5, 152, 293, 688, 951, 945, 772, 28, 550, 214, 1193, 254, 654, 766, 92, 299, 53, 1092, 267, 465, 690, 857, 901, 1018, 1152, 1031, 917, 294, 1148}

    30

    Returns: 1

  43. {286, 125, 950, 1051, 591, 402, 621, 757, 583, 8, 1106, 336, 475, 143, 51, 69, 16, 128, 150, 590, 1041, 540, 1073, 106, 884, 1138, 710, 900, 922, 834, 413, 636, 1062, 32}

    15

    Returns: 1

  44. {106, 907, 502, 1024, 647, 325, 122, 978, 676, 947, 1103, 234, 331, 264, 1017, 88, 1085, 635, 208, 1186, 569, 515, 604, 214, 916, 662, 263, 1132, 1020, 176, 1012, 134, 1120, 457, 226}

    6

    Returns: 5

  45. {434, 1013, 131, 393, 1141, 1112, 784, 256, 1042, 942, 938, 10, 494, 669, 116, 641, 1132, 19, 1198, 97, 976, 1092, 469, 500, 337, 720, 164, 644, 856, 959, 806, 738, 103, 1164, 607, 1057}

    2

    Returns: 12

  46. {544, 447, 730, 437, 1183, 348, 1176, 970, 657, 131, 847, 723, 180, 481, 1092, 814, 202, 733, 912, 587, 518, 1105, 758, 1081, 126, 645, 352, 656, 109, 354, 793, 944, 826, 900, 1059, 70, 272}

    4

    Returns: 5

  47. {5, 441, 382, 1193, 842, 780, 845, 334, 833, 1028, 1076, 575, 1052, 641, 1078, 384, 302, 580, 131, 859, 1186, 430, 374, 672, 261, 779, 1062, 406, 936, 664, 112, 744, 562, 595, 535, 234, 835, 77}

    11

    Returns: 3

  48. {232, 889, 848, 223, 1176, 894, 342, 1133, 628, 266, 44, 1089, 351, 572, 407, 512, 90, 448, 939, 756, 849, 249, 1014, 1071, 257, 530, 846, 227, 976, 1146, 176, 174, 451, 101, 725, 284, 1039, 1112, 609}

    31

    Returns: 1

  49. {639, 730, 774, 35, 479, 267, 1165, 618, 225, 329, 963, 451, 178, 1163, 367, 377, 801, 219, 883, 126, 755, 847, 172, 42, 497, 1051, 656, 48, 140, 567, 631, 264, 719, 775, 284, 266, 358, 928, 51, 741}

    4

    Returns: 3

  50. {786, 921, 545, 519, 406, 419, 1143, 1089, 710, 1022, 268, 198, 987, 694, 777, 10, 285, 768, 833, 1068, 1190, 325, 412, 120, 274, 483, 71, 754, 712, 409, 58, 591, 282, 1142, 1045, 1072, 637, 400, 448, 1078, 382}

    5

    Returns: 2

  51. {61, 1098, 555, 579, 120, 1010, 1146, 427, 359, 1154, 1037, 462, 986, 865, 430, 343, 726, 92, 465, 835, 485, 402, 907, 884, 958, 477, 1186, 78, 64, 589, 244, 1156, 283, 217, 587, 1081, 166, 773, 691, 400, 1055, 344}

    4

    Returns: 10

  52. {573, 813, 392, 280, 355, 550, 807, 342, 990, 222, 446, 1052, 453, 54, 689, 784, 1174, 668, 409, 622, 383, 1017, 1085, 229, 172, 745, 1057, 23, 804, 569, 935, 242, 916, 6, 946, 509, 1162, 864, 995, 859, 1054, 353, 201}

    7

    Returns: 3

  53. {67, 753, 182, 326, 1096, 370, 1156, 381, 1170, 398, 910, 89, 474, 150, 572, 1198, 938, 247, 1004, 448, 568, 862, 345, 464, 881, 663, 145, 363, 1111, 43, 329, 131, 580, 931, 980, 121, 886, 305, 425, 217, 688, 689, 337, 442}

    10

    Returns: 4

  54. {12, 1006, 586, 1042, 115, 694, 322, 1052, 634, 269, 702, 291, 1066, 96, 917, 301, 605, 81, 801, 459, 356, 199, 884, 442, 566, 1101, 210, 792, 202, 25, 294, 706, 460, 179, 854, 1114, 1004, 408, 1167, 88, 848, 1010, 736, 855, 1152}

    9

    Returns: 4

  55. {25, 294, 1154, 1035, 422, 283, 303, 456, 434, 330, 577, 423, 1091, 38, 937, 539, 829, 478, 864, 637, 1103, 52, 642, 1076, 8, 396, 1163, 522, 1151, 896, 925, 346, 604, 659, 748, 687, 495, 704, 207, 206, 760, 331, 194, 1166, 1108, 442}

    1

    Returns: 44

  56. {290, 84, 94, 317, 284, 1156, 590, 784, 560, 349, 860, 399, 301, 767, 1178, 373, 618, 252, 1068, 498, 294, 689, 28, 661, 1169, 149, 111, 899, 224, 601, 246, 426, 902, 465, 495, 62, 454, 1159, 485, 258, 11, 1003, 296, 393, 137, 131, 205}

    1

    Returns: 31

  57. {275, 3, 31, 1171, 134, 68, 401, 498, 393, 179, 219, 1114, 751, 404, 1155, 359, 573, 635, 1087, 1176, 286, 861, 747, 1108, 599, 205, 433, 1167, 657, 790, 115, 461, 610, 1086, 1096, 266, 536, 305, 278, 979, 398, 169, 904, 800, 209, 881, 443, 855}

    10

    Returns: 3

  58. {6, 1004, 196, 1001, 309, 978, 1095, 451, 878, 716, 447, 172, 165, 1000, 54, 905, 392, 164, 747, 232, 611, 397, 600, 375, 302, 522, 634, 623, 640, 751, 198, 428, 812, 965, 337, 975, 296, 1073, 590, 642, 556, 115, 984, 794, 87, 987, 343, 837, 53}

    2

    Returns: 24

  59. {39, 352, 118, 240, 219, 70, 558, 1091, 120, 125, 1130, 175, 585, 1154, 115, 1128, 664, 183, 765, 343, 299, 201, 565, 220, 834, 190, 355, 1099, 950, 1056, 631, 1191, 1010, 1065, 1126, 638, 64, 564, 420, 471, 1189, 480, 260, 83, 257, 801, 584, 634, 1070, 45}

    1

    Returns: 49

  60. {2, 1, 3 }

    2

    Returns: 0

  61. {6, 8, 5, 7 }

    2

    Returns: 1

  62. {422, 623, 1023, 941, 882, 776, 852, 495, 803, 622, 618, 532, 751, 500 }

    4

    Returns: 3

  63. {4, 3, 5 }

    2

    Returns: 0

  64. {1000, 1002, 900, 1005 }

    2

    Returns: 1

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

    2

    Returns: 1

  66. {6, 3, 4, 5, 2, 7, 8 }

    3

    Returns: 0

  67. {15, 14, 13, 12, 16 }

    2

    Returns: 0

  68. {422, 555, 102, 941, 882, 776, 852, 666, 803, 622, 618, 532, 751, 500 }

    1

    Returns: 12

  69. {2, 3, 1, 4 }

    2

    Returns: 1

  70. {20, 40, 10, 21 }

    3

    Returns: 0

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

    3

    Returns: 1

  72. {10, 5, 200, 500 }

    3

    Returns: 0

  73. {500, 981, 1199, 499, 994, 879, 498 }

    3

    Returns: 1

  74. {1, 2, 0, 3 }

    2

    Returns: 1

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

    2

    Returns: 1

  76. {77, 2, 233, 24, 825, 26, 927, 20, 300, 40, 500, 60, 700, 80 }

    2

    Returns: 3

  77. {5, 10, 3, 11 }

    2

    Returns: 1

  78. {480, 450, 500, 550, 530 }

    2

    Returns: 1

  79. {5, 1, 2, 7, 4, 6, 3 }

    2

    Returns: 1

  80. {102, 103, 100, 104, 101 }

    2

    Returns: 1

  81. {200, 199, 201, 198, 190 }

    2

    Returns: 0

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

    2

    Returns: 0

  83. {1, 0, 2 }

    2

    Returns: 0

  84. {20, 13, 234, 435, 34, 2, 45, 56, 67, 68, 69, 58, 59, 90, 78, 98 }

    15

    Returns: 0

  85. {2, 1, 10 }

    2

    Returns: 0

  86. {2, 1, 3, 4 }

    2

    Returns: 1

  87. {5, 1, 3, 6, 9 }

    3

    Returns: 0

  88. {10, 20, 5, 30 }

    2

    Returns: 1

  89. {9, 10, 11, 12, 8, 7, 6, 5, 4, 3, 2, 1 }

    3

    Returns: 1

  90. {10, 11, 9, 12, 8, 13, 7, 14, 6, 19, 3 }

    2

    Returns: 2

  91. {3, 2, 6, 8, 7 }

    5

    Returns: 0

  92. {2, 1 }

    1

    Returns: 0

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

    2

    Returns: 1

  94. {900, 2, 1000, 3 }

    2

    Returns: 0

  95. {2, 4, 1, 3 }

    2

    Returns: 1

  96. {100, 200, 300, 50, 400, 500, 550, 600 }

    3

    Returns: 2

  97. {1000, 1100, 0, 1150, 5 }

    2

    Returns: 1

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

    3

    Returns: 1

  99. {716, 1001, 1002, 10, 1003, 1004, 90, 1005, 1006 }

    3

    Returns: 2

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

    2

    Returns: 1

  101. {2, 3, 1, 5 }

    2

    Returns: 1

  102. {3, 2, 4 }

    2

    Returns: 0

  103. {1197, 1198, 1196, 1195, 1199 }

    1

    Returns: 2

  104. {2, 1, 3, 4, 5, 6, 7 }

    3

    Returns: 1

  105. {2, 1, 4, 5 }

    2

    Returns: 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: