Statistics

Problem Statement for "SortingWithPermutation"

Problem Statement

A permutation p[0], p[1], ..., p[n-1] is a sequence containing each number from 0 to n-1 exactly once. The result of applying permutation p to an array a of length n is an array b of length n, where b[p[i]] = a[i] (0-based indices).
Given an array a, find a permutation which has the effect of sorting the elements of a in non-descending order, i.e., an order where each element is greater than or equal to the previous one. If there are several suitable permutations return the lexicographically smallest one.
The permutation p[0], p[1], ..., p[n-1] is considered lexicographically smaller than the permutation q[0], q[1], ..., q[n-1] if there is an index i such that p[i] < q[i] and the equation p[j] = q[j] holds for all j < i.

Definition

Class:
SortingWithPermutation
Method:
getPermutation
Parameters:
int[]
Returns:
int[]
Method signature:
int[] getPermutation(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 1000, inclusive.

Examples

  1. {2, 3, 1}

    Returns: {1, 2, 0 }

    The element that is originally at position 0 goes to position 1. The elements originally at positions 1 and 2 go to positions 2 and 0, respectively.

  2. {2, 1, 3, 1}

    Returns: {2, 0, 3, 1 }

    There are two suitable permutations - {2, 0, 3, 1} and {2, 1, 3, 0}. The first one is lexicographically smaller.

  3. {4, 1, 6, 1, 3, 6, 1, 4}

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

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

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

  5. {4}

    Returns: {0 }

  6. {221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221}

    Returns: {0, 1, 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 }

  7. {596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596, 596}

    Returns: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 }

  8. {183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183}

    Returns: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }

  9. {616, 616, 616, 616, 857, 616, 857, 857, 616, 857, 857, 616, 616, 857, 857, 616, 857, 616, 857, 857, 857}

    Returns: {0, 1, 2, 3, 10, 4, 11, 12, 5, 13, 14, 6, 7, 15, 16, 8, 17, 9, 18, 19, 20 }

  10. {831, 312, 831, 831, 312, 831, 831, 831, 312, 312, 831, 312, 312, 831, 312, 312, 312, 312, 312, 831, 831, 831, 312, 831, 312, 831}

    Returns: {13, 0, 14, 15, 1, 16, 17, 18, 2, 3, 19, 4, 5, 20, 6, 7, 8, 9, 10, 21, 22, 23, 11, 24, 12, 25 }

  11. {44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44}

    Returns: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }

  12. {84, 84, 866, 695, 75, 513, 695, 912, 912, 912, 695, 866, 912, 695, 912, 75, 84, 990}

    Returns: {2, 3, 10, 6, 0, 5, 7, 12, 13, 14, 8, 11, 15, 9, 16, 1, 4, 17 }

  13. {505, 296, 296, 370, 970, 809, 346, 370, 904, 742, 406, 702, 1000, 971, 809, 702, 296, 742, 379, 505, 1000, 406, 203, 296, 833, 970, 929, 809, 904, 203, 390, 123, 833, 742, 552, 203, 615}

    Returns: {15, 4, 5, 9, 32, 24, 8, 10, 29, 21, 13, 19, 35, 34, 25, 20, 6, 22, 11, 16, 36, 14, 1, 7, 27, 33, 31, 26, 30, 2, 12, 0, 28, 23, 17, 3, 18 }

  14. {629, 1000, 1000, 888, 207, 629, 207, 888, 1000, 888, 1000}

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

  15. {773, 233, 233, 79, 371, 869, 920, 854, 79, 823, 310, 627, 812, 25, 371, 25, 382, 439, 25, 233, 627, 23, 823, 233, 439, 132, 439, 132}

    Returns: {21, 8, 9, 4, 13, 26, 27, 25, 5, 23, 12, 19, 22, 1, 14, 2, 15, 16, 3, 10, 20, 0, 24, 11, 17, 6, 18, 7 }

  16. {401, 401, 426, 703, 642, 642}

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

  17. {435, 74, 394, 920, 178, 796, 394, 920, 372, 139, 571, 272, 149, 573, 394, 573, 394, 272, 293, 540, 261, 920, 394, 984}

    Returns: {14, 0, 9, 20, 3, 19, 10, 21, 8, 1, 16, 5, 2, 17, 11, 18, 12, 6, 7, 15, 4, 22, 13, 23 }

  18. {252, 368, 949, 409, 343, 226, 949, 981, 368, 368, 368, 694, 420, 368, 694, 349, 575, 981, 349, 252, 575, 900, 409}

    Returns: {1, 6, 19, 11, 3, 0, 20, 21, 7, 8, 9, 16, 13, 10, 17, 4, 14, 22, 5, 2, 15, 18, 12 }

  19. {314, 85, 314, 765, 314, 765, 314, 314, 314, 314, 765, 85, 85, 85, 765, 765, 314}

    Returns: {4, 0, 5, 12, 6, 13, 7, 8, 9, 10, 14, 1, 2, 3, 15, 16, 11 }

  20. {848, 848, 737, 848}

    Returns: {1, 2, 0, 3 }

  21. {350, 661, 350, 350, 661, 77, 890, 912, 661, 506, 661, 912, 912, 912, 506, 890, 661, 506, 350, 890, 912, 350, 661, 890, 350, 912, 350, 77, 506, 77, 912, 890, 77}

    Returns: {4, 15, 5, 6, 16, 0, 21, 26, 17, 11, 18, 27, 28, 29, 12, 22, 19, 13, 7, 23, 30, 8, 20, 24, 9, 31, 10, 1, 14, 2, 32, 25, 3 }

  22. {766, 978, 360, 978, 155, 823, 766, 777, 374, 498, 160, 35, 630, 978, 300, 498, 971, 36, 934, 399, 424, 498, 374, 424, 35, 360, 210, 630, 305, 160}

    Returns: {21, 27, 9, 28, 3, 24, 22, 23, 11, 16, 4, 0, 19, 29, 7, 17, 26, 2, 25, 13, 14, 18, 12, 15, 1, 10, 6, 20, 8, 5 }

  23. {102, 253, 401, 797, 805, 589, 401, 548, 253, 665, 102, 387, 609, 805, 797}

    Returns: {0, 2, 5, 11, 13, 8, 6, 7, 3, 10, 1, 4, 9, 14, 12 }

  24. {708, 708, 708, 345, 268, 708}

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

  25. {184, 566, 433, 566, 151, 184, 184, 566, 654, 852, 236, 433, 55, 121, 870, 151, 433, 566, 566, 26, 151, 151, 566, 654, 121, 728, 26, 236, 433, 852, 184, 654, 654, 236, 184, 184, 184, 26, 236, 852, 654, 728}

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

  26. {32, 999, 220, 251, 84, 886, 999, 163, 822, 523, 122, 900, 472, 32, 822, 712, 163, 998, 206, 777, 822, 163, 777, 999, 122, 459, 84, 461, 712, 122, 702, 472, 822, 777}

    Returns: {0, 31, 11, 12, 2, 28, 32, 7, 24, 17, 4, 29, 15, 1, 25, 19, 8, 30, 10, 21, 26, 9, 22, 33, 5, 13, 3, 14, 20, 6, 18, 16, 27, 23 }

  27. {838, 963, 535, 963, 225, 492, 756, 399, 495, 399, 817, 796, 507, 796, 72, 507, 503, 820, 161, 820, 963, 225, 174, 796, 582, 72, 817, 399, 492, 72, 161, 225, 503, 72, 838, 582, 72, 495, 503, 161, 838, 492, 295, 582, 507, 582}

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

  28. {175, 175, 535, 612, 535, 973, 77, 207, 612, 845, 439, 77, 535, 439, 249, 845, 77, 845, 175, 226, 351, 973, 612, 535, 535, 535, 612, 77, 535, 439, 535, 973, 351, 175, 175, 535, 351, 612, 612, 535, 207, 175, 249, 612, 351, 535, 77, 249, 973, 351}

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

  29. {1, 994, 971, 686, 470, 934, 378, 971, 164, 848, 682, 848, 366, 714, 164, 470, 994, 966, 835, 164, 444, 835, 470, 489, 470, 1, 623, 685, 627, 714, 685, 81, 448, 366, 489, 90, 994, 314, 556, 685, 378, 198, 314}

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

  30. {173, 687, 975, 455, 462, 834, 130, 587, 94, 414, 687, 931, 173, 587, 850, 524, 975, 206, 931, 587, 396, 130, 850, 213, 94, 834, 850, 213, 687, 213, 880, 880, 414, 423, 76, 529, 402, 587, 880, 975, 76, 423, 455, 532, 687, 157, 975, 206}

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

  31. {190, 949}

    Returns: {0, 1 }

  32. {638, 298, 760, 649, 638, 298, 878, 298, 760, 649, 878, 643, 643, 298, 649, 643, 638, 878, 643, 878, 878, 760, 638, 643, 298, 643, 760, 298, 878}

    Returns: {6, 0, 19, 16, 7, 1, 23, 2, 20, 17, 24, 10, 11, 3, 18, 12, 8, 25, 13, 26, 27, 21, 9, 14, 4, 15, 22, 5, 28 }

  33. {274}

    Returns: {0 }

  34. {996, 137, 664, 664, 664, 664, 664, 664, 137, 664, 137, 137, 137, 664, 137, 996, 664, 137, 137, 664, 996, 137, 137, 137, 137, 996, 996, 664, 996, 664, 137, 664, 137, 137}

    Returns: {28, 0, 15, 16, 17, 18, 19, 20, 1, 21, 2, 3, 4, 22, 5, 29, 23, 6, 7, 24, 30, 8, 9, 10, 11, 31, 32, 25, 33, 26, 12, 27, 13, 14 }

  35. {488, 4, 946, 655, 680, 655, 292, 954, 292, 25, 876, 488, 488, 876, 946, 610, 407, 451, 574, 292, 954, 680, 876, 25, 954, 610, 610, 818, 488, 292, 54, 451, 574, 876, 25, 574, 946, 655, 145, 145, 946, 655, 145, 954, 954, 574, 4, 54}

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

  36. {447, 572, 864, 174, 933, 242, 346, 768, 785, 308, 805, 518, 146, 840, 933, 842, 798, 253, 789}

    Returns: {6, 8, 16, 1, 17, 2, 5, 9, 10, 4, 13, 7, 0, 14, 18, 15, 12, 3, 11 }

  37. {937, 251, 713, 21, 34, 405, 576, 810, 998, 428, 13, 147, 148, 521, 429, 881, 319, 310, 515, 983, 74, 545, 270, 781, 197, 326, 100, 56, 246, 625, 464, 191, 91, 533, 798, 940, 588, 11, 936, 598, 141, 298, 353, 471}

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

  38. {119, 630, 847, 306, 921, 596, 668, 853, 52, 541, 715, 83, 176, 133, 744, 953, 110, 472, 933, 337, 583, 238, 755, 361, 608, 886, 283, 698, 301, 112, 751, 419, 121, 783, 819, 843, 751, 707, 273, 190, 177, 365, 485, 71, 874}

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

  39. {597, 643, 730, 675, 924, 262, 974, 885, 733, 15, 17, 57, 630, 750, 203, 407, 736, 646, 691, 245, 801, 534, 300, 491, 252, 49, 386, 858, 318, 925, 680, 155, 22, 633, 800, 837, 520}

    Returns: {17, 20, 25, 22, 34, 9, 36, 33, 26, 0, 1, 4, 18, 28, 6, 13, 27, 21, 24, 7, 30, 16, 10, 14, 8, 3, 12, 32, 11, 35, 23, 5, 2, 19, 29, 31, 15 }

  40. {590, 446, 181, 161, 49, 994, 683, 424, 54, 633, 37, 375, 746, 155, 599, 702, 316, 127, 512, 738, 662, 81, 211, 746, 598, 33, 404, 973, 813, 480, 356, 847, 811, 686, 305, 626, 428, 231, 13, 521, 451, 588, 449}

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

  41. {594, 749, 687, 887, 259, 700, 249, 982, 54, 989, 352, 146, 144, 529, 636, 860, 356, 650, 381, 195, 144, 769, 572, 792, 975, 947, 474, 952, 574, 426}

    Returns: {15, 20, 18, 24, 6, 19, 5, 28, 0, 29, 7, 3, 1, 12, 16, 23, 8, 17, 9, 4, 2, 21, 13, 22, 27, 25, 11, 26, 14, 10 }

  42. {446, 933, 135, 93, 230, 13, 102, 131, 87, 888, 842, 424, 672, 401, 775, 435, 171, 473, 918, 454, 766, 523, 475, 770, 102, 749, 562, 387, 590, 59, 880, 884, 502, 986, 878, 942}

    Returns: {14, 33, 7, 3, 9, 0, 4, 6, 2, 31, 27, 12, 22, 11, 26, 13, 8, 16, 32, 15, 24, 19, 17, 25, 5, 23, 20, 10, 21, 1, 29, 30, 18, 35, 28, 34 }

  43. {653, 536, 618, 554, 776, 100, 321, 808, 175, 742, 907, 724, 249, 944, 300, 293, 935, 151, 336, 816, 219, 465, 431, 706, 302, 386, 289, 58, 34, 861, 670, 309, 209, 559, 818, 667, 976, 480, 988, 39, 652}

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

  44. {754}

    Returns: {0 }

  45. {887, 805, 435, 123, 959, 946, 16, 658, 444, 75, 416, 286, 3, 171, 790, 64, 859, 553, 17, 989, 899, 776, 592, 583, 279, 737, 800, 785, 125, 786, 939, 88, 128, 704, 799, 517, 272}

    Returns: {31, 29, 14, 6, 35, 34, 1, 20, 15, 4, 13, 12, 0, 9, 26, 3, 30, 17, 2, 36, 32, 23, 19, 18, 11, 22, 28, 24, 7, 25, 33, 5, 8, 21, 27, 16, 10 }

  46. {696, 632, 876, 692, 707, 166, 326, 17, 920, 10, 417, 604, 690, 930, 369, 308, 783, 344, 702, 131}

    Returns: {13, 10, 17, 12, 15, 3, 5, 1, 18, 0, 8, 9, 11, 19, 7, 4, 16, 6, 14, 2 }

  47. {753, 207, 7, 530, 123, 231, 101, 547, 447, 423, 941, 371, 29, 824, 976, 483, 527, 58, 862, 98, 798, 222, 444, 214, 49, 101, 338, 107, 156}

    Returns: {23, 10, 0, 21, 8, 13, 5, 22, 18, 16, 27, 15, 1, 25, 28, 19, 20, 3, 26, 4, 24, 12, 17, 11, 2, 6, 14, 7, 9 }

  48. {691, 661, 348, 636, 613, 12, 344, 225, 689, 955, 92, 982, 317, 525, 383, 531, 268, 805, 724, 93, 439, 712, 14, 633, 500, 41, 269, 884, 765, 520, 581, 610, 972, 448, 421, 529, 258, 763, 461, 609, 23, 597, 840, 82, 891, 10, 889}

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

  49. {131, 949, 898, 89, 919, 518, 256, 307, 641, 86, 115, 106, 880, 74, 129, 678, 970, 322, 505, 738, 208, 477, 781, 267, 707, 163, 632, 919, 44, 734}

    Returns: {7, 28, 25, 3, 26, 16, 10, 12, 18, 2, 5, 4, 24, 1, 6, 19, 29, 13, 15, 22, 9, 14, 23, 11, 20, 8, 17, 27, 0, 21 }

  50. {112, 201, 766, 565, 628, 660, 296, 791, 850}

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

  51. {754, 726, 635, 816, 365, 690, 259, 177, 8, 555, 722, 364, 869, 739, 652, 177, 210, 752, 937, 12, 390}

    Returns: {17, 14, 10, 18, 7, 12, 5, 2, 0, 9, 13, 6, 19, 15, 11, 3, 4, 16, 20, 1, 8 }

  52. {297, 443, 261, 280, 488, 72, 418, 574, 818, 798, 864, 179, 699, 705, 286, 606, 941, 438, 605, 416, 167, 217, 735, 677, 655, 854, 13, 427, 684, 31, 396, 15, 994, 763, 726, 696, 714, 408, 617, 187, 197, 824, 478, 173, 646, 670, 384}

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

  53. {273, 540, 510, 91, 532, 269, 119, 334, 624, 965, 881, 6, 52, 632, 534, 850, 710, 800, 204, 984, 454, 392, 719, 177, 18, 277, 270}

    Returns: {9, 17, 14, 3, 15, 7, 4, 11, 18, 25, 24, 0, 2, 19, 16, 23, 20, 22, 6, 26, 13, 12, 21, 5, 1, 10, 8 }

  54. {296, 773, 102, 611, 579, 719, 463, 257, 404, 794, 249}

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

  55. {252, 18, 690, 868, 428, 396, 551, 376, 738, 243, 572, 301, 344, 987, 290, 748, 666, 99, 804, 818, 524, 488, 278, 861, 302, 956, 419, 414, 253, 605, 401, 372, 903, 481, 763, 337, 346, 559, 643, 550, 793}

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

  56. {130, 914, 260, 551, 181, 23, 155, 5, 765, 357, 552, 788, 348, 800, 630, 957, 15, 869, 809, 514, 588, 474, 35, 647, 329, 499, 632, 485, 558, 416, 495, 608, 921, 595, 670, 230, 988, 304, 929, 895, 269, 390}

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

  57. {164, 330, 594, 648, 105, 558, 642, 909, 252, 597, 647, 198, 687, 136, 603, 356, 178, 149, 986, 937, 25, 918, 638, 594, 341, 420, 194, 671, 606, 248, 488, 235, 142, 413, 846, 7, 489, 742, 682, 22, 632, 432, 887, 116, 613, 475}

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

  58. {88, 769, 378, 177, 443, 785, 412, 764, 627, 880, 975, 425, 417, 645, 913, 711, 252, 436, 74, 551, 703, 283, 753, 593, 230, 515, 401, 790}

    Returns: {1, 22, 6, 2, 12, 23, 8, 21, 16, 25, 27, 10, 9, 17, 26, 19, 4, 11, 0, 14, 18, 5, 20, 15, 3, 13, 7, 24 }

  59. {894, 71, 491, 497, 695, 611, 879, 119}

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

  60. {849, 260, 111, 994, 131, 849, 204, 680, 533, 784, 11}

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

  61. {980, 731, 797, 538, 347, 842, 90, 774, 84, 543, 454, 269, 728, 699, 907, 200, 691}

    Returns: {16, 11, 13, 6, 4, 14, 1, 12, 0, 7, 5, 3, 10, 9, 15, 2, 8 }

  62. {955, 208, 103, 584, 768, 664, 427, 126, 723, 308, 47, 359, 677, 839, 951, 45, 701, 90, 617, 130, 406, 264, 525, 416, 475, 166, 489, 258, 298, 416, 838, 971, 355, 863, 738, 316, 196, 638, 227, 692, 570, 164, 348}

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

  63. {134, 756, 943, 313, 57, 7, 183, 124, 637, 532, 545, 548, 466, 485, 319, 372, 922, 587, 168, 82, 514, 508, 231, 829, 357, 504, 327, 199, 446, 428, 640, 877, 570, 581, 328, 667, 79, 142, 561, 708, 949, 885, 810, 775, 56, 463, 829, 910, 247}

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

  64. {605, 368, 588, 101, 818, 286, 392, 442, 179, 459}

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

  65. {24, 166, 124, 116, 39, 15, 87, 699, 706, 178, 416, 465, 864, 606, 462, 560, 71, 233, 332, 925, 824, 306, 627, 758, 645, 199, 484, 377, 519, 315, 748, 363, 749, 667, 201, 778, 30, 862, 385, 656, 935, 399, 201, 460, 945, 840}

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

  66. {1, 2, 23, 4, 5, 6, 8, 9, 50, 49, 1, 2, 23, 4, 5, 6, 8, 9, 50, 49, 1, 2, 23, 4, 5, 6, 8, 9, 50, 49, 1, 2, 23, 4, 5, 6, 8, 9, 50, 49, 1, 2, 23, 4, 5, 6, 8, 9, 50, 49 }

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

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

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

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

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

  69. {10, 7, 3, 10, 2 }

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

  70. {1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12, 1, 4, 7, 10, 11, 12 }

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

  71. {34, 14, 89, 45, 34, 1, 55, 67, 12, 567, 12, 34, 67, 35, 7, 8, 36, 884, 45, 7, 12, 44, 89, 65, 123, 34, 14, 89, 45, 34, 1, 55, 67, 12, 567, 12, 34, 67, 35, 7, 8, 36, 884, 45, 7, 12, 44, 89, 65, 123 }

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

  72. {941, 902, 873, 841, 948, 851, 945, 854, 815, 898, 806, 826, 976, 878, 861, 919, 926, 901, 875, 864, 91, 92, 83, 777, 98, 81, 95, 85, 811, 891, 816, 812, 967, 887, 819, 921, 977, 988, 800, 123 }

    Returns: {33, 29, 22, 17, 35, 18, 34, 19, 13, 27, 10, 16, 37, 24, 20, 30, 32, 28, 23, 21, 3, 4, 1, 8, 6, 0, 5, 2, 11, 26, 14, 12, 36, 25, 15, 31, 38, 39, 9, 7 }

  73. {1, 51 }

    Returns: {0, 1 }

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

    Returns: {14, 4, 24, 0, 9, 28, 5, 18, 15, 19, 25, 1, 10, 29, 6, 20, 16, 11, 26, 2, 12, 30, 7, 21, 17, 22, 27, 3, 13, 31, 8, 23 }

  75. {1, 1, 1, 1, 1 }

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

  76. {1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2 }

    Returns: {0, 1, 2, 3, 8, 9, 10, 11, 4, 5, 6, 7, 12, 13, 14, 15 }

  77. {50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10 }

    Returns: {31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10 }

  78. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 1000, 227, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1 }

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

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

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

  80. {608, 970, 273, 187, 35, 95, 297, 233, 436, 747, 304, 125, 85, 442, 797, 812, 11, 748, 93, 83, 763, 183, 283, 458, 447, 67, 869, 621, 623, 746, 309, 230, 67, 934, 768, 453, 28, 416, 686 }

    Returns: {25, 38, 14, 11, 2, 8, 16, 13, 20, 30, 17, 9, 6, 21, 34, 35, 0, 31, 7, 5, 32, 10, 15, 24, 22, 3, 36, 26, 27, 29, 18, 12, 4, 37, 33, 23, 1, 19, 28 }

  81. {10, 1, 1, 1, 2, 2, 2, 5, 5, 6, 5, 6, 7, 8, 6, 7, 8, 9, 10, 7, 5 }

    Returns: {19, 0, 1, 2, 3, 4, 5, 6, 7, 10, 8, 11, 13, 16, 12, 14, 17, 18, 20, 15, 9 }

  82. {1000, 1000, 1000 }

    Returns: {0, 1, 2 }

  83. {254, 92, 269, 934, 97, 313, 523, 35, 220, 635, 466, 784, 16, 422, 510, 656, 832, 1, 200, 614, 814, 986, 366, 346, 840, 500, 214, 961, 525, 535, 994, 279, 155, 60, 707, 934, 711, 357, 574, 396, 138, 170, 172, 390, 422, 707, 430, 856, 609, 617 }

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

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

    Returns: {9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 20, 21, 22, 23, 24, 25, 4, 5, 6, 7, 8 }

  85. {1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 }

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

  86. {3, 2, 2, 1 }

    Returns: {3, 1, 2, 0 }

  87. {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 4, 4, 3, 3, 4, 4, 2, 2, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1000, 1000, 3, 1000, 1000 }

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

  88. {1, 1, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1 }

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


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: