Statistics

Problem Statement for "StRings"

Problem Statement

This problem statement contains images that may not display properly outside the applet.

There are N characters in the Ninja language. As the number of different characters can be very large, we will use numbers from 1 to N to represent the individual characters in Ninja language. The characters are numbered in alphabetical order. That is, whenever i < j, character i is earlier in the alphabet than character j. Each string in Ninja language can now be seen as a sequence of integers. When comparing two different strings of the same length, the lexicographically smaller one is the one with a smaller integer on the first place where they differ.

Ninja Ren has a string R of length N that contains each character exactly once. Then she converted the string R to the string S using the following method:

First, Ren takes her string R and writes it onto a circular piece of paper. The paper can now be cut at one of N possible positions, each time producing a different string of length N. Ren takes those N different strings and sorts them into lexicographical order (starting with the lexicographically smallest one). The string S is obtained by taking the last characters of the N sorted strings, in order. In other words, Ren takes the N cyclic rotations of R, sorts them, and then only looks at their last letters.

For example, when R is "2 4 5 1 3", S will be "5 3 1 2 4". The following picture shows how the conversion works.



You are given the int N and a int[] first. containing a prefix of the string S. More precisely, for each valid index i, element i of first is the i-th character of S. (Both indices are 0-based.)

Find the lexicographically smallest possible string S. If N is less than or equal to 50, return the entire string S. If N is greater than 50, return just the last 50 characters of S. If there is no such S, return an empty int[] instead.

Definition

Class:
StRings
Method:
getSmallest
Parameters:
int, int[]
Returns:
int[]
Method signature:
int[] getSmallest(int N, int[] first)
(be sure your method is public)

Constraints

  • N will be between 1 and 100,000 inclusive.
  • first will contain between 1 and 50 elements, inclusive.
  • Each element of first will be between 1 and N, inclusive.
  • Elements of first will be pairwise distinct.
  • The constraints above guarantee that the number of elements of first will be less than or equal to N.

Examples

  1. 5

    {2, 4}

    Returns: {2, 4, 1, 5, 3 }

    {2, 4, 1, 5, 3} is the lexicographically smallest possible string S.

  2. 5

    {1}

    Returns: { }

    There is no S that starts with 1.

  3. 10

    {3, 8, 6}

    Returns: {3, 8, 6, 1, 2, 5, 4, 9, 10, 7 }

  4. 100

    {34, 68, 97, 87, 47, 39, 50, 59, 4, 7, 29, 91, 1, 80, 90, 95, 60, 40, 43, 73, 54, 69, 32, 31, 53, 11, 84, 3, 28, 77, 44, 86, 2, 75, 85, 52, 93, 81, 70, 89, 19, 67, 98, 100, 41, 65, 57, 27, 33, 49}

    Returns: {5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 30, 35, 36, 37, 38, 42, 45, 46, 48, 51, 55, 56, 58, 61, 62, 63, 64, 71, 66, 72, 74, 76, 78, 79, 82, 88, 83, 94, 96, 92, 99 }

    If N is greater than 50, return just the last 50 characters of S.

  5. 100000

    {43944, 17163, 51303, 35965, 62699, 240, 9126, 95755, 2360, 12009, 99627, 8620, 84125, 10442, 10317, 10312, 6460, 27176, 69518, 42992, 67864, 35645, 96294, 67654, 89899, 53536, 59109, 94700, 55223, 29878, 12818, 82748, 1672, 82520, 88871, 3209, 14106, 84525, 64060, 17190, 24618, 24194, 45307, 50960, 39259, 80618, 19590, 72792, 89475, 63508}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 99626 }

  6. 100000

    {50000, 80000, 80001, 80003, 80004, 99995}

    Returns: {99950, 99951, 99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99996, 99997, 99998, 99999, 100000, 99994 }

  7. 1

    {1}

    Returns: {1 }

  8. 100000

    {43944, 17163, 51303, 35965, 62699, 240, 9126, 95755, 2360, 12009, 99627, 8620, 84125, 10442, 10317, 10312, 6460, 27176, 69518, 42992, 67864, 35645, 96294, 67654, 89899, 53536, 59109, 94700, 55223, 29878, 12818, 82748, 1672, 82520, 88871, 3209, 14106, 84525, 64060, 17190, 24618, 24194, 45307, 50960, 39259, 80618, 19590, 72792, 89475, 63508}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 99626 }

  9. 100000

    {78775, 68231, 85877, 61827, 84899, 31437, 45001, 50713, 54630, 58597, 77148, 88323, 96723, 75834, 93307, 17636, 89622, 57604, 38270, 93639, 42034, 12322, 76599, 11261, 93483, 5914, 91129, 12719, 48354, 63114, 76024, 56638, 52486, 35427, 45156, 10831, 6706, 40952, 19763, 2508, 87696, 10588, 34332, 69260, 17438, 62689, 12660, 27102, 60561, 24559}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 96722 }

  10. 100000

    {70522, 60361, 32173, 2258, 95358, 62692, 79690, 72637, 64521, 13393, 93598, 37624, 3872, 73081, 54561, 37531, 87689, 19357, 55135, 84917, 21361, 4258, 4501, 54867, 98800, 85311, 7078, 67906, 16199, 72918, 98351, 19269, 87186, 36190, 68725, 2702, 58106, 21395, 89758, 65204, 26548, 94233, 43663, 2985, 95311, 44253, 37226, 18696, 94864, 15400}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 98799 }

  11. 100000

    {81604, 60755, 89094, 28925, 47511, 72299, 99540, 28893, 71327, 92335, 23749, 85331, 87317, 58028, 45313, 66793, 42602, 7083, 81656, 99760, 28886, 82961, 714, 48642, 86133, 42880, 53689, 40652, 96953, 23223, 22044, 26373, 12068, 96664, 58913, 73461, 62569, 83669, 73775, 10118, 7795, 54275, 25046, 94506, 90718, 5048, 242, 81582, 33635, 38548}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 99759 }

  12. 100000

    {61528, 46932, 51596, 76172, 50522, 4557, 80227, 77655, 21381, 16351, 65640, 69618, 17337, 38440, 97876, 71270, 54141, 33040, 23481, 77349, 88018, 5390, 3267, 23317, 68890, 42711, 99289, 26579, 88722, 73928, 28833, 29697, 72596, 88576, 67645, 61477, 78761, 94175, 339, 33148, 15099, 90198, 47889, 29786, 72842, 95476, 7471, 43958, 47721, 43746}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 99288 }

  13. 100000

    {98774, 1244, 27771, 86947, 63705, 37508, 8318, 90378, 60394, 11814, 73580, 35489, 26277, 42040, 93182, 72857, 45212, 66199, 87121, 69573, 73879, 5863, 69876, 53367, 31385, 66895, 25453, 49751, 52476, 33903, 39643, 60676, 56104, 12330, 80685, 76676, 66616, 4483, 60517, 61967, 3392, 88949, 58782, 92493, 40329, 93831, 49534, 6666, 38225, 61310}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 98773 }

  14. 100000

    {90096, 4236, 70217, 10875, 38684, 11025, 13439, 7343, 18981, 34593, 10447, 75545, 4173, 28935, 61564, 46378, 5049, 6948, 74255, 95905, 45832, 29681, 27136, 45074, 82205, 65597, 91969, 61334, 93309, 1270, 51871, 64, 41234, 4435, 91411, 51511, 35030, 82294, 80914, 11551, 84999, 91361, 13224, 97949, 37913, 62352, 39805, 92112, 19127, 73984}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 97948 }

  15. 100000

    {71988, 66182, 74554, 31925, 77405, 53336, 80234, 47891, 10238, 45760, 16089, 31697, 1538, 35710, 34536, 13041, 20884, 1554, 30400, 64780, 57959, 11165, 76995, 17019, 68816, 87052, 54132, 72455, 30525, 12690, 33330, 18037, 30858, 96772, 3387, 76969, 67790, 2376, 43911, 5352, 86777, 85623, 8651, 84321, 76161, 88884, 43144, 821, 5215, 23672}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 96771 }

  16. 100000

    {151, 98306, 6807, 60059, 71721, 74866, 580, 80578, 10984, 17211, 3117, 32738, 82717, 36800, 8800, 65324, 85282, 7617, 89675, 80969, 88246, 94796, 6673, 10484, 46907, 95344, 22339, 68579, 633, 56712, 24582, 70308, 33998, 47369, 92334, 98941, 49447, 31942, 29773, 46059, 43858, 72551, 25945, 67384, 6456, 34185, 95888, 66217, 65391, 59921}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 98940 }

  17. 100000

    {74693, 64401, 52398, 86365, 25264, 16321, 24272, 86155, 22250, 17298, 87044, 77857, 86725, 41004, 83506, 31948, 6640, 44946, 38414, 51018, 29186, 71589, 72091, 15335, 5354, 42278, 10811, 9847, 85578, 96617, 62272, 54992, 24833, 91218, 66473, 6369, 1345, 15933, 87428, 47381, 54075, 84649, 29705, 89154, 1382, 5294, 70162, 13931, 76105, 47025}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 96616 }

  18. 24636

    {7589, 15700, 10060, 11281, 5437, 23716, 9979, 1852, 13173, 18870, 5532, 5352, 16882, 12962, 14565, 4759, 6271, 23230, 11325, 20224, 913, 18848, 2029, 5917, 15485, 15837, 1340, 16687, 5096, 8231, 21507, 23938, 21560, 858, 7723, 22398, 21267, 315, 11763, 20003, 20807, 22457, 2907, 21945, 14448, 17468, 5666}

    Returns: {24588, 24589, 24590, 24591, 24592, 24593, 24594, 24595, 24596, 24597, 24598, 24599, 24600, 24601, 24602, 24603, 24604, 24605, 24606, 24607, 24608, 24609, 24610, 24611, 24612, 24613, 24614, 24615, 24616, 24617, 24618, 24619, 24620, 24621, 24622, 24623, 24624, 24625, 24626, 24627, 24628, 24629, 24630, 24631, 24632, 24633, 24634, 24635, 24636, 23937 }

  19. 47408

    {27611, 43023, 25454, 18246, 15376, 3307, 47272, 2607, 40944, 36282, 24765, 42614, 11563, 28140, 39304, 3288, 13453, 21646, 10935, 23774, 26770, 30673, 47325, 1480, 23586, 19930, 25629, 286, 14877, 36187, 17964, 15514, 41053, 16286, 6487, 24118, 30135, 35856, 13047, 14592, 25593, 46768, 1874, 38667, 13877}

    Returns: {47360, 47361, 47362, 47363, 47364, 47365, 47366, 47367, 47368, 47369, 47370, 47371, 47372, 47373, 47374, 47375, 47376, 47377, 47378, 47379, 47380, 47381, 47382, 47383, 47384, 47385, 47386, 47387, 47388, 47389, 47390, 47391, 47392, 47393, 47394, 47395, 47396, 47397, 47398, 47399, 47400, 47401, 47402, 47403, 47404, 47405, 47406, 47407, 47408, 47324 }

  20. 46587

    {40226, 10019, 36463, 6856, 38189, 30429, 27058, 3152, 6640, 6540, 27007, 28132, 11064, 325, 30904, 35336, 34653, 38947, 33739, 18777, 23647, 36950, 24498, 23464, 23940, 17147, 5237, 4255, 40969, 20078, 29648, 20361, 28477, 35511, 85}

    Returns: {46539, 46540, 46541, 46542, 46543, 46544, 46545, 46546, 46547, 46548, 46549, 46550, 46551, 46552, 46553, 46554, 46555, 46556, 46557, 46558, 46559, 46560, 46561, 46562, 46563, 46564, 46565, 46566, 46567, 46568, 46569, 46570, 46571, 46572, 46573, 46574, 46575, 46576, 46577, 46578, 46579, 46580, 46581, 46582, 46583, 46584, 46585, 46586, 46587, 40968 }

  21. 80347

    {21054, 77320, 14404, 51574, 52647, 9895, 14854, 53249, 36598, 9076, 4740, 64792, 68925, 49081, 69848, 7435, 38302, 80324, 50575, 18915, 74527, 27564, 25027, 13534, 20766, 77865, 23660, 67885, 10773, 51045, 63786, 58315, 22083, 47295, 11984, 59152, 55073, 17432, 66068}

    Returns: {80297, 80298, 80299, 80300, 80301, 80302, 80303, 80304, 80305, 80306, 80307, 80308, 80309, 80310, 80311, 80312, 80313, 80314, 80315, 80316, 80317, 80318, 80319, 80320, 80321, 80322, 80325, 80326, 80327, 80328, 80329, 80330, 80331, 80332, 80333, 80334, 80335, 80336, 80337, 80338, 80339, 80340, 80341, 80342, 80343, 80344, 80345, 80346, 80347, 80323 }

  22. 69795

    {30008, 65825, 53190, 54876, 52459, 33258, 59242, 19321, 62695, 50742, 59546, 46335, 38365, 10666, 381, 49208, 29702, 60564, 54119, 37829, 30155, 54393, 52599, 38532, 35029, 3112, 60524, 49363, 43511, 28318, 25691, 44580, 4441, 58929, 27685, 54193, 33729, 16719, 19419, 66303, 67674, 23844, 13835, 44743, 5129, 48768}

    Returns: {69747, 69748, 69749, 69750, 69751, 69752, 69753, 69754, 69755, 69756, 69757, 69758, 69759, 69760, 69761, 69762, 69763, 69764, 69765, 69766, 69767, 69768, 69769, 69770, 69771, 69772, 69773, 69774, 69775, 69776, 69777, 69778, 69779, 69780, 69781, 69782, 69783, 69784, 69785, 69786, 69787, 69788, 69789, 69790, 69791, 69792, 69793, 69794, 69795, 67673 }

  23. 89907

    {73768, 76255, 2500, 40876, 47436, 47063, 45090, 38475, 74757, 62104, 18237, 83828, 37984, 69081, 32538, 49620, 5109, 28836, 46045, 16588, 31809, 44566}

    Returns: {89859, 89860, 89861, 89862, 89863, 89864, 89865, 89866, 89867, 89868, 89869, 89870, 89871, 89872, 89873, 89874, 89875, 89876, 89877, 89878, 89879, 89880, 89881, 89882, 89883, 89884, 89885, 89886, 89887, 89888, 89889, 89890, 89891, 89892, 89893, 89894, 89895, 89896, 89897, 89898, 89899, 89900, 89901, 89902, 89903, 89904, 89905, 89906, 89907, 83827 }

  24. 48411

    {45571, 13508, 498, 33910, 30894, 3969, 9089, 4154, 46711, 24772, 46966, 22167, 18246, 47132, 48384, 45554, 45510, 16384, 42715, 26335, 9174, 40198, 13143}

    Returns: {48361, 48362, 48363, 48364, 48365, 48366, 48367, 48368, 48369, 48370, 48371, 48372, 48373, 48374, 48375, 48376, 48377, 48378, 48379, 48380, 48381, 48382, 48385, 48386, 48387, 48388, 48389, 48390, 48391, 48392, 48393, 48394, 48395, 48396, 48397, 48398, 48399, 48400, 48401, 48402, 48403, 48404, 48405, 48406, 48407, 48408, 48409, 48410, 48411, 48383 }

  25. 47739

    {9725, 41721, 1835, 32569, 41382, 9897, 17861, 39599, 30093, 39514, 45320, 26092, 24284, 10293, 23154, 33158, 1195, 10266, 2901, 29104, 238, 10584, 23553, 270, 43632, 36419, 25174, 2171, 33362, 39999, 14596, 7576, 8027, 19219, 6875}

    Returns: {47691, 47692, 47693, 47694, 47695, 47696, 47697, 47698, 47699, 47700, 47701, 47702, 47703, 47704, 47705, 47706, 47707, 47708, 47709, 47710, 47711, 47712, 47713, 47714, 47715, 47716, 47717, 47718, 47719, 47720, 47721, 47722, 47723, 47724, 47725, 47726, 47727, 47728, 47729, 47730, 47731, 47732, 47733, 47734, 47735, 47736, 47737, 47738, 47739, 45319 }

  26. 96333

    {57791, 36581, 75440, 76142, 31009, 72099, 76507, 13694}

    Returns: {96285, 96286, 96287, 96288, 96289, 96290, 96291, 96292, 96293, 96294, 96295, 96296, 96297, 96298, 96299, 96300, 96301, 96302, 96303, 96304, 96305, 96306, 96307, 96308, 96309, 96310, 96311, 96312, 96313, 96314, 96315, 96316, 96317, 96318, 96319, 96320, 96321, 96322, 96323, 96324, 96325, 96326, 96327, 96328, 96329, 96330, 96331, 96332, 96333, 76506 }

  27. 51613

    {32058, 24388, 1045, 14680, 34645, 29772, 46886, 20505, 37810, 9890, 33670, 8914, 21319, 2358, 31690, 28191, 46834, 20321, 31225, 2786, 35319, 7812, 17359, 25155, 35427, 39679, 2269, 44317, 33536, 27764, 9477, 15231, 420, 32816, 44592, 18637, 16170, 44377, 31421, 35542, 5233, 26603, 46694, 34196, 24040, 38197, 17276}

    Returns: {51565, 51566, 51567, 51568, 51569, 51570, 51571, 51572, 51573, 51574, 51575, 51576, 51577, 51578, 51579, 51580, 51581, 51582, 51583, 51584, 51585, 51586, 51587, 51588, 51589, 51590, 51591, 51592, 51593, 51594, 51595, 51596, 51597, 51598, 51599, 51600, 51601, 51602, 51603, 51604, 51605, 51606, 51607, 51608, 51609, 51610, 51611, 51612, 51613, 46885 }

  28. 1

    {1}

    Returns: {1 }

  29. 2

    {1}

    Returns: { }

  30. 2

    {2}

    Returns: {2, 1 }

  31. 2

    {1, 2}

    Returns: { }

  32. 2

    {2, 1}

    Returns: {2, 1 }

  33. 3

    {1}

    Returns: { }

  34. 3

    {2}

    Returns: {2, 3, 1 }

  35. 3

    {3}

    Returns: {3, 1, 2 }

  36. 3

    {1, 2}

    Returns: { }

  37. 3

    {1, 3}

    Returns: { }

  38. 3

    {2, 1}

    Returns: { }

  39. 3

    {2, 3}

    Returns: {2, 3, 1 }

  40. 3

    {3, 1}

    Returns: {3, 1, 2 }

  41. 3

    {3, 2}

    Returns: { }

  42. 3

    {1, 2, 3}

    Returns: { }

  43. 3

    {1, 3, 2}

    Returns: { }

  44. 3

    {2, 1, 3}

    Returns: { }

  45. 3

    {2, 3, 1}

    Returns: {2, 3, 1 }

  46. 3

    {3, 1, 2}

    Returns: {3, 1, 2 }

  47. 3

    {3, 2, 1}

    Returns: { }

  48. 4

    {2}

    Returns: {2, 3, 4, 1 }

  49. 4

    {3, 4}

    Returns: {3, 4, 2, 1 }

  50. 4

    {1, 3, 4}

    Returns: { }

  51. 4

    {3, 1, 4, 2}

    Returns: {3, 1, 4, 2 }

  52. 5

    {1}

    Returns: { }

  53. 5

    {5, 4}

    Returns: {5, 4, 1, 3, 2 }

  54. 5

    {3, 2, 4}

    Returns: { }

  55. 5

    {2, 5, 4, 3}

    Returns: { }

  56. 5

    {3, 1, 5, 2, 4}

    Returns: {3, 1, 5, 2, 4 }

  57. 6

    {4}

    Returns: {4, 1, 2, 5, 6, 3 }

  58. 6

    {1, 4}

    Returns: { }

  59. 6

    {2, 3, 4}

    Returns: {2, 3, 4, 5, 6, 1 }

  60. 6

    {4, 5, 3, 1}

    Returns: { }

  61. 6

    {6, 5, 2, 4, 1}

    Returns: { }

  62. 6

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

    Returns: { }

  63. 7

    {4}

    Returns: {4, 1, 2, 5, 6, 7, 3 }

  64. 7

    {5, 1}

    Returns: {5, 1, 2, 3, 6, 7, 4 }

  65. 7

    {1, 2, 3}

    Returns: { }

  66. 7

    {3, 7, 4, 1}

    Returns: { }

  67. 7

    {4, 3, 7, 6, 2}

    Returns: {4, 3, 7, 6, 2, 5, 1 }

  68. 7

    {6, 3, 2, 5, 7, 4}

    Returns: { }

  69. 7

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

    Returns: { }

  70. 8

    {4}

    Returns: {4, 1, 2, 5, 6, 7, 8, 3 }

  71. 8

    {7, 6}

    Returns: {7, 6, 1, 2, 3, 5, 8, 4 }

  72. 8

    {7, 3, 8}

    Returns: {7, 3, 8, 1, 2, 4, 5, 6 }

  73. 8

    {1, 8, 7, 2}

    Returns: { }

  74. 8

    {4, 1, 8, 3, 6}

    Returns: {4, 1, 8, 3, 6, 2, 5, 7 }

  75. 8

    {7, 4, 6, 5, 3, 1}

    Returns: {7, 4, 6, 5, 3, 1, 8, 2 }

  76. 8

    {7, 5, 6, 3, 2, 8, 1}

    Returns: { }

  77. 8

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

    Returns: {5, 7, 4, 6, 2, 8, 3, 1 }

  78. 9

    {6}

    Returns: {6, 1, 2, 3, 4, 7, 8, 9, 5 }

  79. 9

    {4, 6}

    Returns: {4, 6, 1, 2, 3, 7, 8, 9, 5 }

  80. 9

    {9, 7, 4}

    Returns: {9, 7, 4, 1, 2, 3, 6, 5, 8 }

  81. 9

    {6, 2, 1, 7}

    Returns: { }

  82. 9

    {6, 9, 3, 1, 5}

    Returns: { }

  83. 9

    {7, 3, 8, 4, 6, 2}

    Returns: { }

  84. 9

    {7, 9, 6, 1, 5, 2, 3}

    Returns: { }

  85. 9

    {9, 8, 1, 2, 5, 4, 3, 7}

    Returns: { }

  86. 9

    {9, 7, 4, 2, 5, 6, 8, 1, 3}

    Returns: { }

  87. 10

    {4}

    Returns: {4, 1, 2, 5, 6, 7, 8, 9, 10, 3 }

  88. 10

    {7, 3}

    Returns: {7, 3, 1, 2, 4, 5, 8, 9, 10, 6 }

  89. 10

    {2, 6, 4}

    Returns: {2, 6, 4, 1, 3, 7, 8, 9, 10, 5 }

  90. 10

    {9, 10, 6, 2}

    Returns: {9, 10, 6, 2, 1, 4, 3, 5, 7, 8 }

  91. 10

    {8, 4, 2, 7, 3}

    Returns: {8, 4, 2, 7, 3, 1, 6, 9, 10, 5 }

  92. 10

    {1, 2, 9, 8, 4, 10}

    Returns: { }

  93. 10

    {2, 4, 10, 9, 5, 3, 7}

    Returns: { }

  94. 10

    {10, 6, 3, 7, 5, 9, 2, 1}

    Returns: { }

  95. 10

    {10, 6, 1, 4, 2, 3, 7, 9, 8}

    Returns: { }

  96. 10

    {7, 2, 8, 10, 4, 5, 6, 3, 9, 1}

    Returns: { }

  97. 100000

    {1}

    Returns: { }

  98. 100000

    {2}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 1 }

  99. 100000

    {30001}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 30000 }

  100. 100000

    {100000}

    Returns: {99950, 99951, 99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999 }

  101. 50

    {22, 10, 28, 7, 27}

    Returns: {22, 10, 28, 7, 27, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 25 }

  102. 50

    {39, 42, 10, 34, 17, 47, 38, 28, 45, 31}

    Returns: {39, 42, 10, 34, 17, 47, 38, 28, 45, 31, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 33, 32, 35, 36, 37, 40, 41, 44, 43, 48, 49, 50, 46 }

  103. 50

    {24, 5, 6, 9, 33, 18, 42, 13, 38, 29, 23, 4, 10, 19, 2}

    Returns: {24, 5, 6, 9, 33, 18, 42, 13, 38, 29, 23, 4, 10, 19, 2, 1, 3, 7, 8, 11, 12, 14, 15, 17, 16, 20, 21, 22, 25, 26, 27, 28, 31, 30, 32, 34, 35, 37, 36, 39, 40, 43, 44, 45, 46, 47, 48, 49, 50, 41 }

  104. 50

    {28, 24, 47, 25, 29, 7, 45, 10, 49, 4, 19, 40, 18, 5, 32, 44, 14, 38, 36, 26}

    Returns: {28, 24, 47, 25, 29, 7, 45, 10, 49, 4, 19, 40, 18, 5, 32, 44, 14, 38, 36, 26, 1, 2, 3, 6, 9, 8, 11, 12, 13, 15, 16, 17, 20, 21, 22, 23, 27, 31, 30, 33, 34, 35, 37, 41, 39, 42, 46, 43, 50, 48 }

  105. 50

    {9, 24, 43, 10, 45, 40, 16, 19, 39, 7, 22, 48, 33, 5, 26, 38, 49, 34, 50, 15, 3, 30, 31, 23, 42}

    Returns: {9, 24, 43, 10, 45, 40, 16, 19, 39, 7, 22, 48, 33, 5, 26, 38, 49, 34, 50, 15, 3, 30, 31, 23, 42, 1, 2, 4, 6, 8, 11, 12, 14, 13, 17, 18, 20, 21, 25, 27, 28, 29, 32, 35, 37, 36, 41, 44, 46, 47 }

  106. 50

    {18, 9, 5, 16, 12, 7, 21, 26, 6, 28, 40, 45, 15, 20, 47, 1, 42, 38, 41, 17, 37, 8, 22, 23, 13, 30, 4, 3, 27, 31}

    Returns: {18, 9, 5, 16, 12, 7, 21, 26, 6, 28, 40, 45, 15, 20, 47, 1, 42, 38, 41, 17, 37, 8, 22, 23, 13, 30, 4, 3, 27, 31, 2, 10, 11, 14, 19, 24, 25, 32, 29, 34, 33, 36, 35, 39, 43, 44, 48, 49, 50, 46 }

  107. 50

    {45, 15, 16, 47, 46, 31, 35, 42, 17, 26, 32, 29, 34, 20, 9, 50, 24, 10, 1, 48, 8, 12, 13, 37, 3, 41, 19, 30, 36, 6, 23, 22, 25, 2, 43}

    Returns: {45, 15, 16, 47, 46, 31, 35, 42, 17, 26, 32, 29, 34, 20, 9, 50, 24, 10, 1, 48, 8, 12, 13, 37, 3, 41, 19, 30, 36, 6, 23, 22, 25, 2, 43, 4, 5, 7, 11, 14, 21, 27, 18, 28, 33, 38, 40, 44, 39, 49 }

  108. 50

    {38, 9, 49, 23, 22, 20, 39, 16, 26, 37, 4, 17, 11, 28, 12, 41, 5, 15, 3, 2, 31, 36, 45, 25, 44, 8, 43, 29, 33, 47, 27, 10, 46, 18, 7, 50, 34, 14, 30, 48}

    Returns: {38, 9, 49, 23, 22, 20, 39, 16, 26, 37, 4, 17, 11, 28, 12, 41, 5, 15, 3, 2, 31, 36, 45, 25, 44, 8, 43, 29, 33, 47, 27, 10, 46, 18, 7, 50, 34, 14, 30, 48, 1, 6, 13, 19, 24, 21, 32, 35, 40, 42 }

  109. 50

    {38, 48, 13, 11, 6, 39, 1, 35, 49, 18, 9, 25, 36, 32, 28, 10, 3, 26, 2, 37, 44, 45, 27, 19, 8, 4, 21, 31, 47, 41, 23, 30, 43, 42, 14, 29, 7, 40, 24, 17, 33, 46, 5, 50, 16}

    Returns: {38, 48, 13, 11, 6, 39, 1, 35, 49, 18, 9, 25, 36, 32, 28, 10, 3, 26, 2, 37, 44, 45, 27, 19, 8, 4, 21, 31, 47, 41, 23, 30, 43, 42, 14, 29, 7, 40, 24, 17, 33, 46, 5, 50, 16, 12, 15, 20, 34, 22 }

  110. 50

    {29, 3, 14, 34, 9, 8, 37, 42, 36, 19, 43, 27, 30, 32, 28, 4, 31, 5, 15, 24, 26, 7, 22, 33, 13, 6, 11, 12, 40, 48, 49, 18, 39, 21, 47, 45, 35, 23, 41, 17, 46, 20, 1, 16, 10, 38, 50, 2, 44, 25}

    Returns: {29, 3, 14, 34, 9, 8, 37, 42, 36, 19, 43, 27, 30, 32, 28, 4, 31, 5, 15, 24, 26, 7, 22, 33, 13, 6, 11, 12, 40, 48, 49, 18, 39, 21, 47, 45, 35, 23, 41, 17, 46, 20, 1, 16, 10, 38, 50, 2, 44, 25 }

  111. 100000

    {43944}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 43943 }

  112. 100000

    {78775, 68231}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 78774 }

  113. 100000

    {70522, 60361, 32173}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 70521 }

  114. 100000

    {81604, 60755, 89094, 28925}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 89093 }

  115. 100000

    {61528, 46932, 51596, 76172, 50522}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 76171 }

  116. 51

    {10}

    Returns: {1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 9 }

  117. 51

    {35, 25, 39, 32, 50, 36, 1, 33, 12, 47, 31, 19, 7, 6, 8, 21, 45, 9, 27, 14, 5, 49, 13, 41, 22, 18, 3, 20, 10, 17, 40, 24, 42, 2, 38, 34, 30, 46, 29, 23, 16, 37, 48, 28, 4, 15, 43, 44, 11, 26}

    Returns: { }

  118. 100000

    {100000, 99999, 99998, 99997, 99996, 99995, 99994, 99993, 99992, 99991, 99990, 99989, 99988, 99987, 99986, 99985, 99984, 99983, 99982, 99981, 99980, 99979, 99978, 99977, 99976, 99975, 99974, 99973, 99972, 99971, 99970, 99969, 99968, 99967, 99966, 99965, 99964, 99963, 99962, 99961, 99960, 99959, 99958, 99957, 99956, 99955, 99954, 99953, 99952, 99951}

    Returns: {99901, 99902, 99903, 99904, 99905, 99906, 99907, 99908, 99909, 99910, 99911, 99912, 99913, 99914, 99915, 99916, 99917, 99918, 99919, 99920, 99921, 99922, 99923, 99924, 99925, 99927, 99928, 99929, 99930, 99931, 99932, 99933, 99934, 99935, 99936, 99937, 99938, 99939, 99940, 99941, 99942, 99943, 99944, 99945, 99946, 99947, 99948, 99949, 99950, 99926 }

  119. 100000

    {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 1 }

  120. 100000

    {99951, 99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000}

    Returns: {99902, 99903, 99904, 99905, 99906, 99907, 99908, 99909, 99910, 99911, 99912, 99913, 99914, 99915, 99916, 99917, 99918, 99919, 99920, 99921, 99922, 99923, 99924, 99925, 99926, 99927, 99928, 99929, 99930, 99931, 99932, 99933, 99934, 99935, 99936, 99937, 99938, 99939, 99940, 99941, 99942, 99943, 99944, 99945, 99946, 99947, 99948, 99949, 99950, 99901 }

  121. 100000

    {51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100}

    Returns: {99952, 99953, 99954, 99955, 99956, 99957, 99958, 99959, 99960, 99961, 99962, 99963, 99964, 99965, 99966, 99967, 99968, 99969, 99970, 99971, 99972, 99973, 99974, 99975, 99976, 99977, 99978, 99979, 99980, 99981, 99982, 99983, 99984, 99985, 99986, 99987, 99988, 99989, 99990, 99991, 99992, 99993, 99994, 99995, 99996, 99997, 99998, 99999, 100000, 1 }

  122. 5

    {2, 4, 1, 5, 3 }

    Returns: {2, 4, 1, 5, 3 }


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: