Statistics

Problem Statement for "OrderDoesMatter"

Problem Statement

Matrices are a common object in mathematics. A NxM matrix is basically a table with N rows of M values each. Given two matrices, one of size AxB and another of size CxD, the following multiplication rules apply:
  • You can only multiply them if B is equal to C.
  • The resultant matrix is of size AxD.
The number of elements in an AxB matrix is A multiplied by B. For example, a 3x7 matrix has 21 elements.
Given a list of matrices, determine if there's an ordering that allows you to multiply all of them. If multiple such orderings exist, choose the one where the result has the most elements. Return the number of elements in the result, or -1 if there is no valid ordering (see examples 0-3 for further clarification). The list of matrices is given as two int[]s, N and M, where the ith elements of N and M represent the number of rows and columns respectively of the ith matrix.

Definition

Class:
OrderDoesMatter
Method:
getOrder
Parameters:
int[], int[]
Returns:
int
Method signature:
int getOrder(int[] N, int[] M)
(be sure your method is public)

Notes

  • The association order is not important because we are only interested in the dimensions of the matrices.

Constraints

  • M will have between 1 and 50 elements, inclusive.
  • N and M will have the same number of elements.
  • Each element of N and M will be between 1 and 1000, inclusive.

Examples

  1. {7,3,3}

    {3,7,3}

    Returns: 49

    Here we can legally multiply all the matrices in three different ways: (3x3)*(3x7)*(7x3) = (3x3) (elements = 9) (3x7)*(7x3)*(3x3) = (3x3) (elements = 9) (7x3)*(3x3)*(3x7) = (7x7) (elements = 49) The maximum number of elements is then 49.

  2. {3,5,5}

    {5,1,5}

    Returns: 3

    There's only one legal way to multiply the matrices (3x5)*(5x5)*(5x1)=(3x1) so the answer is 3*1=3.

  3. {3,5,5}

    {5,2,4}

    Returns: -1

    There is no legal way to multiply the matrices.

  4. {5,2,3}

    {2,5,3}

    Returns: -1

    Again, no legal way to multiply them all.

  5. {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}

    {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: 1

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

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

    Returns: 10

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

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

    Returns: 81

  8. {1}

    {1000}

    Returns: 1000

  9. {1000}

    {1000}

    Returns: 1000000

  10. {1000}

    {1}

    Returns: 1000

  11. {1000,1}

    {1,1000}

    Returns: 1000000

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

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

    Returns: -1

  13. {101,202,303,404,505,101,202,303,404,505,101,202,303,404,505,101,202,303,404,505}

    {202,303,404,505,101,303,404,505,101,202,404,505,101,202,303,101,202,303,404,505}

    Returns: 255025

  14. {101,202,303,404,505,101,202,303,404,505,101,202,303,404,505,101,202,303,404,505,1000,303,202}

    {202,303,404,505,101,303,404,505,101,202,404,505,101,202,303,101,202,303,404,505,303,909,202}

    Returns: 909000

  15. {1,1000}

    {1,1000}

    Returns: -1

  16. {1,1}

    {5,5}

    Returns: -1

  17. {1,1,1,5,5,5,4,6}

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

    Returns: -1

  18. {1,3,1,4}

    {2,4,3,2}

    Returns: -1

  19. {507,759,158,759,438,438,507,461,507,461,759,767,438,158,438,461,759,158,507,759,767,767,767,759,767,158,158,158,507,759,759,759}

    {158,759,461,767,767,438,767,507,461,158,507,759,759,767,461,759,767,158,507,158,767,759,507,767,507,438,767,461,759,461,438,767}

    Returns: -1

  20. {381,630,388,431,515,725,221,820,188,903,133,384,132,975,709,882,471,923,383,366,133,525,67,367,691,429}

    {133,691,133,384,525,882,366,630,923,221,429,367,820,431,188,471,975,515,381,709,903,383,725,67,132,388}

    Returns: -1

  21. {211,96,41,131,303,503,348,292,96,131,903,292,812,406,903,406,76,775,41,775,895,292,418,418,819,440,195,41,812,903,131,430,67,406,440,48,348,794,857}

    {857,418,41,292,418,348,903,76,794,96,303,775,406,195,67,895,440,41,430,41,406,131,440,812,503,96,775,903,819,292,406,812,131,903,48,211,292,348,131}

    Returns: 815409

  22. {735,469,890,245,469,245,855,53,890,469,763,909,53,20,763,320,735,635,909,580,469,855,53,245,735,635,635,635,53,580,405,469}

    {53,855,890,635,635,245,405,635,469,909,245,20,245,320,469,469,855,735,53,909,890,53,735,763,735,53,580,469,635,580,469,763}

    Returns: 826281

  23. {362,269,269,914,701,269,709,21,709,362,269,269,789,914,789,621,529,993,529,529,21,789,709,993,53,529,21,993,789}

    {21,914,21,789,269,362,53,269,269,709,621,269,709,529,914,529,789,21,993,993,789,529,362,789,701,993,709,529,269}

    Returns: 986049

  24. {416,18,746,18,738,746,632,946,764,18,416,960,985,764,416,788,985,985,163,18,746,788,18,960,985,59,788,985,946,416,946}

    {985,985,764,18,746,18,764,163,18,746,632,416,416,946,960,960,946,416,788,18,985,59,946,746,18,788,985,985,788,416,738}

    Returns: 970225

  25. {513,763,632,632,422,143,763,799,546,928,939,546,939,939,928,608,143,799,231,231,143,763,763,231,608,608,939,231}

    {231,546,763,928,763,143,608,422,763,632,546,939,939,928,608,799,231,143,939,231,231,632,939,763,143,608,513,799}

    Returns: 881721

  26. {874,746,263,455,345,392,807,455,345,345,807,345,968,263,20,345,746,882,746,455,79,807,746,867,807,807,874,79,758,387,872,746,392,79,392}

    {807,455,263,345,807,345,872,345,455,874,392,746,746,455,392,79,79,882,807,807,746,345,807,263,79,874,746,345,867,20,746,387,758,968,392}

    Returns: -1

  27. {928,604,892,841,892,841,892,841,841,604,928,632,632,632,281,604}

    {281,632,841,632,892,604,841,892,841,604,632,892,928,928,841,604}

    Returns: 861184

  28. {639,639,981,747,482,747,747,423,639,981,747,747,639,747,747,482,482,482,747,423,423,423,423,747,639,981,423,639,747,981,423,747,639,981,747,639,482,423}

    {639,747,639,423,639,981,747,747,747,423,747,639,482,482,747,981,639,639,423,423,482,482,747,747,747,423,423,423,423,482,747,639,981,981,747,747,639,981}

    Returns: 962361

  29. {438,375,91,91,640,886,640,91,561,438,375,783,438,174,91,561,640,621,375}

    {91,174,91,640,375,438,783,621,640,640,91,375,886,561,375,91,438,561,438}

    Returns: 784996

  30. {181,181,181,308,181,181,146,308,146,308,146,308,181,146,146,146,181,308,181,181,146,181,181,308,308,308,181}

    {308,181,146,146,181,308,146,181,181,308,181,308,181,181,146,308,308,181,308,146,181,308,146,181,181,146,181}

    Returns: 94864

  31. {734,654,453,311,734,377,377,311,304,734,734,304,311,453,654,453,304,311,304,377,453,311,654,304,377,654,311,377,654,377,377,654,377,453,654,734,304,377,654,453,734,453}

    {311,654,377,734,304,734,453,734,304,453,654,734,377,377,377,654,311,304,654,304,453,654,311,453,734,654,377,377,311,377,377,311,304,304,654,654,311,453,453,453,377,734}

    Returns: 538756

  32. {350,397,397,356,632,249,350,606,397,505,606,356,591,632,356,632,606,606,356,591}

    {350,397,606,591,606,606,249,505,632,356,397,356,632,350,356,356,397,632,591,606}

    Returns: 399424

  33. {691,39,835,203,39,691,705,691,203,203,203,705,203,16,705,835,203,705,705,16,705,16,691,705,203,691,691,39,691,705,705,705,835,16,16,691,835,203,39,16}

    {705,691,203,691,705,691,203,16,39,39,835,835,835,705,16,39,16,203,691,705,705,691,16,705,705,835,203,203,203,203,691,203,39,705,705,16,691,691,705,16}

    Returns: 697225

  34. {232,183,869,177,403,869,452,395,403,792,637,477,919,416,452,383,232,919,792,869,183,626,416,637,792,416,477,477,280,626,626,280,452,637,416,704,383,869,280,792,547,350,177,383,183,183}

    {177,547,869,452,416,183,792,704,232,183,403,477,637,637,232,626,919,395,792,477,869,350,626,177,183,416,280,280,383,183,792,477,919,383,403,452,383,869,452,626,792,637,280,869,416,416}

    Returns: 844561

  35. {977,977,838,488,838,838,838,488,977,488,977,977,838,977,488,838,488,977,977,977,838,977,977,838,838}

    {977,838,838,977,977,488,977,977,977,977,977,838,838,838,838,488,977,488,838,488,838,977,838,977,488}

    Returns: 954529

  36. {540,266,266,266,266,266,266,266,266,947}

    {947,266,540,266,266,266,266,266,266,266}

    Returns: 896809

  37. {435,435,147,147,253,26,253,253,943,26,26,147,435,435,253,435,435,26,435,253,943,435,26,26,435,435,943,435,943,943,253,26,147,26,253,943,943,943,435,147,147,943,253,435,147,26}

    {435,435,435,435,26,435,435,26,26,943,147,26,435,253,253,147,147,253,435,147,943,943,147,943,26,435,435,253,435,435,147,943,253,26,26,943,253,26,253,147,943,435,253,943,26,943}

    Returns: 889249

  38. {168,870,870,219,374,870,374,374,870,702,151,374,870,151,870,702,151,168,870,151,702,702,168,219,168,374,151,870,168,168,374,219,870,702,168,702,870,374,168}

    {870,374,219,168,168,151,702,702,151,374,702,219,870,870,870,374,374,870,168,168,168,151,870,870,219,702,168,870,702,374,702,870,151,168,374,151,374,870,168}

    Returns: 756900

  39. {99,703,703,855,703,202,855,807,99,807,703,855,202,752,752,202,202,807,703,202,807,703,807,855}

    {807,99,855,202,703,703,752,703,807,202,855,99,807,855,855,202,202,703,703,202,703,807,807,752}

    Returns: 731025

  40. {584,206,129,129,200,584,206,71,879,476,538,879,671,538,476,206,206,71,671,69,584,739,838,476}

    {879,584,206,879,671,69,538,671,206,538,71,584,739,584,71,129,200,476,206,838,129,206,476,476}

    Returns: 772641

  41. {840,612,218,90,200,292,516,483,612,620,612,304,556,531,90,46,483,200,556,840,830,292,218,90,516,417,556,200,271,528,620,46,620,304,840,556,840,516,304,528,304}

    {483,531,218,840,620,528,90,516,292,556,556,200,528,612,620,840,200,516,556,271,612,516,620,292,417,840,304,840,90,483,304,612,218,46,830,200,304,556,90,46,304}

    Returns: 705600

  42. {7}

    {7}

    Returns: 49

  43. {114,18,151,501,59,389,151,18,59,255,654,18,384,389,528,59,199,18,199,151,151,701,528,389,59,114,114,111,199,59,151,111,501,501,151,18,111,111,501,59,114,528,501}

    {389,18,151,18,59,151,114,501,151,59,111,501,501,255,59,199,114,528,114,199,501,199,528,701,111,114,501,151,59,151,528,111,59,151,654,384,384,59,389,18,111,389,18}

    Returns: 6912

  44. {64,64,64,346,346,64,552,64,260,346}

    {260,346,346,64,346,64,260,64,552,64}

    Returns: 16640

  45. {623,594,251,20,726,20,251,623,259,623,726,251,517,317,43,594,43,517,259,113,317,405,405,113,594,251,20,517,44,317,726,44,405,517,20,113,317}

    {317,20,317,44,405,44,20,726,594,726,594,20,317,113,405,20,517,43,623,113,623,405,517,517,259,44,259,251,251,517,726,251,317,113,43,251,594}

    Returns: 27412

  46. {342,896,734,460,896,610,533,442,442,610,610,896,40,610,342,734,896,610,533,460}

    {342,442,460,610,896,896,610,533,342,533,896,896,610,610,40,734,610,460,442,896}

    Returns: 657664

  47. {170,817,170,170,170,170,817,83,817,817,817,817}

    {83,170,83,170,817,817,817,170,817,817,170,817}

    Returns: 14110

  48. {623,623,623,87,805,895,623,805,137,87,87,623,805,428,137,895,137,805,902,805,502,895,805,137,902,623,895,137,902,895,902,87,428,137,902,805,137,137}

    {805,623,623,137,428,895,902,502,895,902,87,137,895,805,805,902,805,623,805,137,137,895,137,87,623,895,137,87,902,87,623,137,137,428,805,623,502,805}

    Returns: 452804

  49. {700,153,764,551,700,881,551,896,419,700,764,881,153,896,842,842,201,201,712,842,896,764,896,896,201,317}

    {842,764,881,896,700,712,842,201,317,881,896,153,764,896,551,764,551,201,201,700,842,700,419,153,896,712}

    Returns: 637952

  50. {445,828,809,289,269,269,546,809,809,856,546,269,289,809,809,445,856,856,108,289,289,546,546,269,828,856,445,546,108,828,856,856}

    {445,289,269,269,809,856,546,445,856,856,809,108,809,856,269,809,289,289,828,762,828,546,856,269,856,546,445,828,546,108,809,289}

    Returns: 416052

  51. {56,56,625,50,398,625,56,50,647,147,647,50,625,398,625,56,748,147,398}

    {50,50,398,56,748,625,398,147,50,398,625,625,398,647,647,625,147,56,56}

    Returns: 22288

  52. {167,603,603,603,904,167,167,603}

    {904,167,603,603,904,603,167,603}

    Returns: 150968

  53. {472,568,472,894,568,472,568,630,992,992,827,992,433,663,992,663,321,827,992,472,558,894,433,415,663,123,558,472}

    {894,472,663,992,992,568,472,630,663,827,321,992,894,663,568,472,123,433,472,992,827,415,992,558,663,568,558,433}

    Returns: -1

  54. {834,755,755,755,834}

    {119,834,755,834,755}

    Returns: 89845

  55. {689,427,846,689,299,427,92,846,62,689,92,846,689,92,92,2,62,2,299,92,215}

    {689,689,846,215,92,846,299,92,427,846,92,427,689,92,62,62,92,2,2,299,92}

    Returns: 63388

  56. {759,304,759,32,304,69,163,450,829,69,748,163,304,829,759,748,69,304,870,163,829,32,69,422,163,748,69,761,32,32,759,748,163,759,761,748}

    {69,69,759,32,829,304,32,759,32,759,759,759,422,163,69,32,829,304,748,450,163,304,748,69,761,829,748,163,422,748,761,163,163,870,304,69}

    Returns: 315656

  57. {850,131,735,850,867,36,131,850,64,867,64,258,867,735,258,372,372,64,867,561,561,131,867,867,70,561,867,735,36,36,258,372,70,850,561}

    {867,850,867,64,850,867,70,735,131,258,561,131,131,258,867,36,561,64,258,867,561,850,36,372,70,561,867,36,735,735,64,372,372,36,867}

    Returns: 30600

  58. {714,627,991,761,991,834,539,118,400,761,714,627,128,761,761,118,118,400,705,834,539,714,627,445,834,664,714,539,664,761,705,539,128}

    {128,539,118,118,627,445,627,400,539,714,834,705,714,118,627,400,761,664,539,761,991,761,118,714,664,705,714,539,834,991,761,761,834}

    Returns: 15104

  59. {119,152,152,119,119,811,152,147,152,961,903,152,906,147}

    {152,119,961,147,903,906,152,119,811,152,152,147,903,119}

    Returns: 137256

  60. {725,363,370,725,363,363,259,363,89,832,259,363,482,301,725,301,414,364,364,482,259,482,301,725,414,725,364,89,301,370,363,414,414,259,832,370,414,89,832,482}

    {89,482,370,725,725,301,301,482,364,363,832,414,725,363,725,363,301,832,301,89,414,370,370,725,482,259,370,363,89,363,832,259,364,364,414,259,414,482,259,414}

    Returns: 134310

  61. {380,380}

    {380,978}

    Returns: 371640

  62. {489,933,47,865,430,379,47,345,865,808,667,865,422,379,489,70,47,933,808,808,379,933}

    {808,379,70,268,430,808,667,379,933,865,47,865,865,47,379,808,489,933,933,47,489,345}

    Returns: -1

  63. {598,290,983,520,188,598,894,439,319,276,698,260,439,520,894,32,260,32,951,104,783,41,988,290,301,276,762,698,698,54,54,290,785,894,785,785,894,41,319,785,894,598,188,260,598,32,54}

    {520,188,276,785,698,951,319,762,32,983,54,301,783,54,290,785,41,41,969,785,894,698,439,260,54,260,104,32,439,520,988,894,598,276,598,290,260,598,785,698,188,319,894,598,894,894,32}

    Returns: 281010

  64. {330,714,13,111,661,194,839,663,904,412,86,386,726,83,738,351,444,911,374,570,103,766,436,515}

    {570,351,83,904,111,436,330,194,911,13,839,412,766,444,386,86,726,663,738,515,714,103,374,194}

    Returns: 128234

  65. {980,32,311,416,404,3,398,759,887,759,616,46,600,555}

    {416,232,555,887,759,759,980,46,311,404,600,398,3,32}

    Returns: 142912

  66. {633,335,300,720,301,594,751,661,15,906,74,913,964,65,276,619,972,92,19,568,913,75,944,655,382,503,416,572,872,910,537,975,641}

    {975,972,910,65,641,92,572,382,661,276,594,751,655,239,872,720,913,633,301,335,15,964,537,913,906,75,503,74,619,19,568,944,416}

    Returns: 71700

  67. {344,180,282,849,563,240,281}

    {240,344,670,282,180,849,563}

    Returns: 188270

  68. {50,160,849,460,591,727,926,404,253,608,253,34,268,707,540,960,375,109,932,56,856,122,288,544,665,967,638,128,53,958,294,227,484,704,520,579,744}

    {294,484,375,109,707,288,268,608,727,128,253,591,958,122,544,856,460,253,404,638,704,50,540,926,932,53,513,579,34,520,160,56,744,227,967,960,665}

    Returns: 435537

  69. {152,466,906}

    {466,906,152}

    Returns: 820836

  70. {169,375,549,42,32,861,94,693,215,855,407,98,903,46,172,731,19,815,9,149,861,876}

    {407,215,731,9,98,169,861,876,861,19,42,903,693,172,549,149,32,94,46,855,815,375}

    Returns: 815409

  71. {625,768,357,534,900,393,853,938,532,442,302,70,386,235,151,194,332,687,64}

    {151,687,386,302,357,625,938,900,442,393,768,235,64,194,534,532,853,332,70}

    Returns: 879844

  72. {206,897,476,198,356,613,534,208,37,268,92,450,658,152}

    {613,198,37,268,208,152,658,450,206,534,356,476,92,897}

    Returns: 804609

  73. {158,671,723,170,367,766,485,588,655,723,590,493,522,148,923}

    {522,493,588,367,723,148,766,158,590,170,723,923,671,655,485}

    Returns: 851929

  74. {1000,1,1}

    {1,999,1}

    Returns: 999000

  75. {1,1000,1000}

    {1000,2,1000}

    Returns: 2

  76. {1000,999}

    {1000,999}

    Returns: -1

  77. {119,152,152,119,119,811,152,147,152,961,903,152,906,147,1,1000,1000}

    {152,119,961,147,903,906,152,119,811,152,152,147,903,119,1000,2,1000}

    Returns: -1

  78. {442,675,391,420,903,265,820,343,213,564,18,874,653,644,56,704,569,46,879,893,131,100}

    {675,704,46,644,18,100,879,820,56,653,893,564,213,569,391,131,903,265,442,874,343,420}

    Returns: -1

  79. {447,386,893,520,810,302,688,735,385,723,584,801,804,651,794,465,609}

    {385,810,735,609,386,520,723,651,794,801,447,302,688,804,465,893,584}

    Returns: -1

  80. {477,264,381}

    {477,381,264}

    Returns: -1

  81. {644,709,470,796,810,400,790,399,414,528,74,543,925,694,595,920,156,263,619,482,231}

    {231,470,619,74,920,644,156,543,790,595,925,796,482,709,810,694,400,528,414,399,263}

    Returns: -1

  82. {222,272,633,251,275,308,304,407,970}

    {970,251,275,308,407,272,222,304,633}

    Returns: -1

  83. {833,601,252,179,540,568,466,174,748,213,422,591,510,887}

    {540,179,833,992,213,422,568,252,887,748,591,466,601,510}

    Returns: -1

  84. {213,196,574,490,311}

    {574,196,311,912,490}

    Returns: -1

  85. {508,455,646,816,980,764,576,152,157,465,376,590,686,768,648,424,689,410,595,708,905,373,265,972,284,159}

    {768,590,708,576,764,159,284,401,595,157,508,648,424,410,980,905,455,816,686,465,972,265,646,152,373,689}

    Returns: -1

  86. {485,428,322,96,587,402,625,242,82,510,54,987,130,410,230,280,147,470,521,34,629,695,35,336,798,275,915,496,520,910,405,509,33,73,917,666,153,900,802,631,255,900,19,192,3,295}

    {859,520,509,322,3,915,900,275,987,242,402,33,485,280,54,521,35,410,405,631,147,470,802,428,917,496,666,230,695,629,625,130,587,96,900,295,73,82,255,798,19,336,34,153,910,192}

    Returns: -1

  87. {995,492,76,383,410,386,508,327,61,687,601}

    {327,601,995,386,300,61,508,492,410,76,383}

    Returns: -1

  88. {91,91,49,91,91,49,91,49,91,91,49,91,91,49,91,91,91,49,91,91,49,91}

    {91,49,91,91,49,49,49,49,91,91,91,49,49,91,91,91,91,49,49,49,49,49}

    Returns: -1

  89. {275,793,920,793,920,793,275,793,920,275,793,920,920,920,920,275,275,920,275,793,793,275}

    {275,793,275,275,793,920,275,275,793,793,275,793,275,920,920,793,920,920,920,275,275,920}

    Returns: -1

  90. {187,653,653,715,653,715,187,187,187,715,715,715,715,715,653,653,653,715,187,187,187,653,187}

    {715,653,715,715,187,653,715,653,187,715,715,187,715,715,715,715,187,715,187,653,715,187,715}

    Returns: -1

  91. {812,234,234,234,812,234,234,234,812,812,234,234,812,234,812,812,812,812,812,812,812,812,234,234,812,234,812,234,812,234,812,812,234,812,234,812,234,234,812,234}

    {234,234,812,234,812,812,812,812,812,234,812,234,234,234,812,812,234,812,812,234,812,234,812,234,234,812,234,812,812,234,812,812,812,812,234,234,234,234,812,812}

    Returns: 190008

  92. {257,392,357,392,392,257,357,392,257,257,392,183,357,392,392,257,183,357,392,257,746,746,392,257,183,746,357,257,257,392,392}

    {257,357,746,746,257,257,257,257,392,257,257,392,357,746,392,746,183,183,183,257,357,357,257,392,746,746,357,257,257,257,357}

    Returns: -1

  93. {111,222,333,111,444,777,555,111,777,666,666,111,444,333,999}

    {333,111,222,444,666,999,111,555,555,777,555,444,111,999,333}

    Returns: -1

  94. {50,100,150,50,50}

    {100,150,100,150,50}

    Returns: -1

  95. {1000,100,10,10}

    {1,1,100,1000}

    Returns: -1

  96. {1,1000,1,1000,80}

    {80,1,1000,80,80}

    Returns: -1

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

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

    Returns: -1

  98. {47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 47, 49, 43, 41, 17, 29, 29 }

    {17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17, 43, 29, 47, 49, 41, 17 }

    Returns: 493

  99. {20, 21, 20, 22, 21, 22, 20, 23, 21, 23, 22, 23, 20, 24, 21, 24, 22, 24, 23, 24, 20, 25, 21, 25, 22, 25, 2, 3, 25, 24, 25, 20, 26, 21, 26, 22, 26, 23, 26, 24, 26, 25, 26, 20, 27, 21, 27, 22, 27, 23 }

    {21, 20, 22, 20, 22, 21, 23, 20, 23, 21, 23, 22, 24, 20, 24, 21, 24, 22, 24, 23, 25, 20, 25, 21, 25, 22, 2, 5, 23, 25, 24, 26, 20, 26, 21, 26, 22, 26, 23, 26, 24, 26, 25, 27, 20, 27, 21, 27, 22, 27 }

    Returns: -1

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

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

    Returns: 81

  101. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }

    {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }

    Returns: 16

  102. {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, 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 }

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

    Returns: -1

  103. {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 }

    {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }

    Returns: 2

  104. {5 }

    {5 }

    Returns: 25

  105. {5, 3, 7, 6, 4, 8 }

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

    Returns: -1

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

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

    Returns: -1

  107. {2 }

    {3 }

    Returns: 6

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

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

    Returns: -1

  109. {1000, 2, 5, 4 }

    {2, 1000, 4, 5 }

    Returns: -1

  110. {990, 997, 996, 995, 994, 993, 992, 991, 998, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 599, 598, 597, 596, 595, 594, 593, 592, 591, 590, 999 }

    {999, 998, 997, 996, 995, 994, 993, 992, 991, 990, 899, 898, 897, 896, 895, 894, 893, 892, 891, 890, 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, 699, 698, 697, 696, 695, 694, 693, 692, 691, 690, 599, 598, 597, 596, 595, 594, 591, 592, 593, 590 }

    Returns: -1

  111. {1, 3, 5 }

    {3, 1, 5 }

    Returns: -1

  112. {5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 7, 6, 97, 98, 99, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928 }

    {6, 5, 4, 97, 98, 99, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 3, 8, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }

    Returns: 861184

  113. {3, 5, 3, 5, 7 }

    {5, 7, 5, 3, 7 }

    Returns: 21

  114. {1 }

    {1 }

    Returns: 1

  115. {1, 2, 3, 4 }

    {2, 1, 4, 3 }

    Returns: -1

  116. {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 }

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

    Returns: 4

  117. {2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3 }

    {3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 5, 6 }

    Returns: -1

  118. {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 }

    {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 }

    Returns: 4

  119. {2 }

    {1 }

    Returns: 2

  120. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 }

    {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 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: 625

  121. {1, 3, 6 }

    {5, 1, 3 }

    Returns: 30

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

    {1, 4, 15, 1, 1, 1, 1, 1, 6, 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: -1

  123. {1, 1000, 1, 1000, 1, 1000 }

    {1000, 1000, 1000, 1, 1, 1 }

    Returns: 1000000

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

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

    Returns: 2

  125. {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 }

    {5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2 }

    Returns: -1

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

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

    Returns: 64

  127. {5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 7, 3, 7, 3, 7, 3 }

    {3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 7, 3, 7 }

    Returns: 35

  128. {2, 1 }

    {3, 2 }

    Returns: 3

  129. {1, 2 }

    {1, 1 }

    Returns: 2

  130. {1, 2, 3, 5 }

    {2, 1, 5, 3 }

    Returns: -1

  131. {7, 7, 7, 3 }

    {3, 3, 3, 7 }

    Returns: -1

  132. {1 }

    {5 }

    Returns: 5

  133. {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, 2 }

    {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, 2 }

    Returns: -1

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

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

    Returns: 49

  135. {1, 3, 4 }

    {2, 4, 3 }

    Returns: -1

  136. {2, 1 }

    {1, 3 }

    Returns: 6

  137. {2 }

    {2 }

    Returns: 4

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

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

    Returns: 676

  139. {2, 2 }

    {3, 3 }

    Returns: -1

  140. {3, 5 }

    {1, 3 }

    Returns: 5

  141. {1 }

    {2 }

    Returns: 2

  142. {1, 1 }

    {2, 3 }

    Returns: -1

  143. {990, 990, 991, 991, 992, 992, 993, 993, 994, 994 }

    {991, 992, 992, 993, 993, 994, 994, 990, 990, 991 }

    Returns: 988036

  144. {2, 1 }

    {1, 2 }

    Returns: 4

  145. {3, 3 }

    {4, 4 }

    Returns: -1

  146. {2, 1, 2, 5 }

    {1, 2, 5, 2 }

    Returns: 25

  147. {7, 7 }

    {3, 3 }

    Returns: -1

  148. {1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 }

    {1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 }

    Returns: 1000000

  149. {1, 1, 1, 1, 2 }

    {1, 1, 1, 1, 2 }

    Returns: -1

  150. {2, 2, 2, 3, 3, 3 }

    {3, 3, 3, 2, 2, 2 }

    Returns: 9

  151. {1, 1 }

    {1, 1 }

    Returns: 1

  152. {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, 3, 3, 3, 3 }

    {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, 3, 3, 3, 3, 3 }

    Returns: 3

  153. {2, 2 }

    {5, 5 }

    Returns: -1

  154. {1, 2, 2 }

    {2, 1, 1 }

    Returns: 2

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

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

    Returns: 49

  156. {3, 3, 5 }

    {5, 5, 3 }

    Returns: 15

  157. {1, 2 }

    {3, 1 }

    Returns: 6


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: