Problem Statement
"We have two arrays of integers, A and B. A and B each contain exactly N elements. Let's define a function S over A and B:
S = A0*B0 + ⦠+ AN-1*BN-1Rearrange the numbers in A in such a way that the value of S is as small as possible. You are not allowed to rearrange the numbers in B.â
The problem writers need a program to check the correctness of the applicants' answers. Given
Definition
- Class:
- RoyalTreasurer
- Method:
- minimalArrangement
- Parameters:
- int[], int[]
- Returns:
- int
- Method signature:
- int minimalArrangement(int[] A, int[] B)
- (be sure your method is public)
Constraints
- A will contain between 1 and 50 elements, inclusive.
- A and B will contain the same number of elements.
- Each element of A will be between 0 and 100, inclusive.
- Each element of B will be between 0 and 100, inclusive.
Examples
{1,1,3}
{10,30,20}
Returns: 80
If you move the number 3 to the beginning of A, you get the minimal possible sum.
{1,1,1,6,0}
{2,7,8,3,1}
Returns: 18
The best option would be to rearrange the numbers in A this way: {1,1,0,1,6}.
{5,15,100,31,39,0,0,3,26}
{11,12,13,2,3,4,5,9,1}
Returns: 528
{3,100,99,100,100}
{0,31,99,1,21}
Returns: 5566
{100}
{0}
Returns: 0
{0}
{0}
Returns: 0
{1}
{1}
Returns: 1
{100}
{100}
Returns: 10000
{1,2,3,4,5,6,7,8,9,10}
{10,9,8,7,6,5,4,3,2,1}
Returns: 220
{100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}
{100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100}
Returns: 500000
{100,100,100,100,100,100,100,100,100,100,0,0,0,0,0,0,0,0,0,0,76,27,22,58,48,96,17,66,59,76}
{100,100,100,100,100,100,100,100,100,100,51,89,27,3,68,26,63,71,87,68,17,90,66,69,0,86,72,22,98,29}
Returns: 71487
{52,34,69,21,18,5,51,58,85,94,96,98,72,22,21,85,21,14,79,3}
{42,0,49,62,82,77,66,77,35,74,24,72,9,31,1,11,71,70,74,72}
Returns: 32777
{57,38,62,72,97,27,71,2,82,85,59,61,95,30,55,63,25,62,54,5,77,29,14,66,35,54,39,25,71,88}
{82,81,0,16,76,13,11,59,87,47,26,37,92,66,35,30,48,29,91,96,8,34,4,21,23,7,97,3,28,4}
Returns: 42818
{87,41,23,19,44,85,0,79,3,98,32,7,41,64,57,42,78,46,4,18,96,63,78,10,42,84,94,27,18,6,51,78,37,52,21,87,64,57,19,96,83,51,25,17,66,14,12,47,42,51}
{25,59,33,63,3,72,84,63,64,88,13,23,97,80,60,6,52,93,6,6,34,93,31,50,51,91,75,52,70,31,95,32,25,13,85,61,16,11,44,59,28,57,54,93,60,88,35,7,66,80}
Returns: 80309
{75,53,0,99,37,97,91,39,64,7,13,89,49,50,28,53,41,30,65,24,56,86,99,97,48,75,70,19,92,100,58,90,43,97,91,25,30,13,37,59,3,70,96}
{18,14,25,75,10,1,15,36,64,41,97,64,99,37,10,33,2,41,12,76,50,99,61,52,16,53,22,6,31,83,60,95,8,98,10,47,77,63,62,50,88,100,84}
Returns: 78517
{75,82,44,35,36,97,30,92,25,16,70,27,81,12,94,17,21,88,40,44,17,24,49,51,22,16,85,0,83,25,82,26,44,70,59,93,58,70,61,35,16,95,70,25,97,52,41,28,42}
{34,72,55,19,82,49,20,82,84,70,78,22,89,3,18,77,68,48,11,90,33,62,70,26,25,85,24,5,46,62,89,7,84,29,95,56,48,38,86,44,64,2,39,2,6,72,88,49,45}
Returns: 84418
{6,6,8,0,1,4,6,9,8,8,2,2,10,7,8,10,8,7,7,5,9,1,2,9,5,4,6,10,2}
{4,6,6,6,7,8,5,4,8,8,6,8,7,6,1,1,0,8,7,3,1,4,1,7,10,10,0,3,4}
Returns: 638
{0,2,1,4,1,4,1,1,4,0,3,4,2,0,1,2,2,3,1,4,3,3,4,3,3,1,0,0,0,2,4,3,3,3,3,4,4,4,1,2,2,1,3,3,4,1,2,4,4}
{1,3,4,3,0,0,4,4,1,0,1,3,2,3,2,0,3,2,1,3,2,2,2,1,4,2,0,4,4,2,1,1,2,4,4,4,4,0,4,3,0,4,3,4,3,2,3,3,1}
Returns: 175
{36,1,42,22,5,46,31,34,8,49,21,0,12,35,29,37,16,2,43,19,17,24,47,11,4,20,26,27,3,10,30,32,23,9,40,48,7,45,33,28,18,6,41,15,25,13,38,39,44,14}
{9,12,28,32,12,42,48,33,12,7,43,7,13,43,13,41,47,15,6,6,38,15,46,32,20,22,3,31,16,29,26,2,20,32,33,20,12,12,44,34,30,24,31,25,42,22,38,18,30,46}
Returns: 21398
{9,12,28,32,12,42,48,33,12,7,43,7,13,43,13,41,47,15,6,6,38,15,46,32,20,22,3,31,16,29,26,2,20,32,33,20,12,12,44,34,30,24,31,25,42,22,38,18,30,46}
{36,1,42,22,5,46,31,34,8,49,21,0,12,35,29,37,16,2,43,19,17,24,47,11,4,20,26,27,3,10,30,32,23,9,40,48,7,45,33,28,18,6,41,15,25,13,38,39,44,14}
Returns: 21398
{9,12,28,32,12,42,48,33,12,7,43,7,13,43,13,41,47,15,6,6,38,15,46,32,20,22,3,31,16,29,26,2,20,32,33,20,12,12,44,34,30,24,31,25,42,22,38,18,30,46}
{89,12,28,32,12,42,48,33,12,7,43,7,13,43,13,41,47,15,6,6,38,15,46,32,20,22,3,31,16,29,26,2,20,32,33,20,12,12,44,34,30,24,31,25,42,22,38,18,30,46}
Returns: 24135
{46,58,10,35,31,91,17,45,43,5,54,25,46,49,47,7,41,81,11,33,64,44,45,30,67,13,72,90,22,62,57,78,18,22,16,28,65,36,78,66,29,75,43,48,40,52,66,89,98,50}
{13,0,13,24,49,11,21,20,19,17,22,20,49,14,9,22,35,18,38,37,7,17,45,11,5,9,1,2,25,31,22,22,31,36,37,45,36,10,27,40,49,17,21,44,19,27,20,1,19,3}
Returns: 36926
{0,7,6,1,4,5,6,0}
{1,5,2,3,4,3,7,2}
Returns: 62
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
{17,3,14,7,0,5,6,1,11,9,10,8,12,13,16,15,4,2}
Returns: 816
{40,12,34,20,6,16,18,8,28,24,26,22,30,32,38,36,14,10}
{2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53}
Returns: 8478
{6,7,1,1,14,99,23,3}
{1,2,9,7,8,98,33,33}
Returns: 583
{0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}
{30,9,4,0,27,8,21,16,0,33,3,7,7,14,3,13,33,13,11,12}
Returns: 52
{0,2}
{0,1}
Returns: 0
{89,2}
{5,16}
Returns: 477
{0,1,0,0,0,1,0,0,1,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,1,0,1,1,1,1}
{0,1,0,0,0,1,0,0,1,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,1,0,1,1,1,1}
Returns: 0
{0,1,0,0,1,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,1,0,1,1,1,1}
{1,0,0,0,1,0,1,0,1,0,1,1,0,0,1,0,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1}
Returns: 1
{0,0,0,0,0,1,0,0,0,1,1,1,1,1,0,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1}
{0,0,0,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1}
Returns: 1
{47,20,76,40,87,86,49,84,57,4,50,37,75,33,26,20,84,40,42,53}
{38,54,25,53,41,0,47,10,64,50,18,8,47,7,1,39,54,57,56,31}
Returns: 25779
{2,3,0,0,1,1,2,1,2,3,4,1,1,2,1,1,4,2,1,4,2,0,4,4,1,1,0,3,3,0,0,3,1,2,1,3,0,1,4,3,4,2,4}
{60,41,75,91,100,98,28,50,82,96,44,28,10,17,18,40,32,60,5,80,85,65,12,10,35,60,9,80,43,36,63,43,53,31,87,92,79,16,89,4,61,23,80}
Returns: 2547
{2,4,1,4,3,0,3,0,4,3,1,0,3,0,0,2,4,4,4,2,2,1,3,1,4,4,1,3,2,1,3,1,1,2,3,1,2,4,0,4,3,0,1,1,0,0,3,1,1,1}
{54,7,39,97,25,3,71,28,88,4,42,53,60,48,79,6,44,29,60,12,22,36,97,26,13,32,76,12,21,96,67,22,5,95,7,27,79,81,10,41,92,65,52,24,11,36,66,17,5,26}
Returns: 2157
{0,48,10,34,13,1,2,14,44,16,4,23,45,11,14,25,3,41,18,0,49,22,6,42,46,36,18,23,5,36,40,30,23,3,49,22,20,17,13,47,1,13,8,18,5,37,17,31,35}
{51,12,36,9,0,17,67,51,25,7,66,1,62,10,27,24,44,43,5,28,9,66,60,43,33,68,34,25,19,7,36,23,28,1,20,28,44,8,16,52,38,34,59,68,67,41,66,35,33}
Returns: 20851
{61,74,72,79,58,30,75,32,85,95,38,97,66,76,54,97,73,8,9,29,68,64,94,48,32,22,38}
{9,73,48,56,23,83,6,29,4,17,70,56,67,61,62,91,65,68,57,47,55,7,26,41,23,23,2}
Returns: 50453
{5,4,5,6,7,5,0,5}
{1,6,4,7,5,4,8,4}
Returns: 154
{5,4,3,0,6,4,2,6,1}
{8,0,7,5,6,5,7,8,3}
Returns: 130
{44,70,16,16,29,38,60,23,46}
{18,25,7,7,12,8,10,26,12}
Returns: 3752
{6,0,15,20,0,5,13,8,7,19}
{18,14,23,5,12,24,21,20,12,19}
Returns: 1192
{1,1,2,1,0,2,0,3,3,3,0,2,0,3,1,2}
{1,2,1,1,2,1,0,1,2,1,2,0,0,1,2,0}
Returns: 13
{2,1,3,2,0,3,0,5,5,5,0,3,0,4,2,3,3,5,2,3,5,3}
{1,3,6,3,6,1,1,4,5,2,2,5,2,0,1,3,0,1,1,1,0,0}
Returns: 62
{1,0,1,1,0,1,0,2,2,2,0,1,0,2,1,1,1,2,1,1,2,1,0,1,2,1,2,0,0,1,2,0,1,2,1,0,0,1,0,0,0,0,0,0,2,2,2,0,2}
{2,2,2,0,1,1,1,1,2,2,1,1,0,0,2,2,2,0,1,0,2,1,2,0,0,1,0,0,1,2,1,1,2,2,0,0,2,2,0,0,1,0,1,0,2,0,1,2,2}
Returns: 15
{14,10,23,17,2,22,0,33,33,33,4,24,0,31,13,21,20,38,14,25,34,25,8,22,38,19,37,6,9,22,31,12,13,28,13,0,10,18,4,6,9,8,0,1,28,29,30,0,30}
{37,26,26,2,15,24,14,13,31,28,25,18,6,5,38,27,36,11,20,1,31,24,26,1,12,23,9,8,22,34,15,16,26,33,5,12,31,28,3,0,22,12,17,7,31,8,23,36,36}
Returns: 10543
{36,25,58,45,6,57,1,86,84,83,11,63,0,79,34,53,51,98,37,65,88,65,21,55,97,50,94,15,24,56,80,31,35,72,33,0,26,46,11,16,24,22,0,3,72,75,76}
{1,60,76,54,53,5,31,48,28,27,64,57,52,38,12,11,78,56,74,22,41,3,63,48,54,2,26,47,19,16,46,69,32,32,54,67,10,25,64,57,6,0,46,24,35,15,64}
Returns: 52128
{1,60,76,54,53,5,31,48,28,27,64,57,52,38,12,11,78,56,74,22,41,3,63,48,54,2,26,47,19,16,46,69,32,32,54,67,10,25,64,57,6,0,46,24,35,15,64}
{36,25,58,45,6,57,1,86,84,83,11,63,0,79,34,53,51,98,37,65,88,65,21,55,97,50,94,15,24,56,80,31,35,72,33,0,26,46,11,16,24,22,0,3,72,75,76}
Returns: 52128
{1, 1, 3 }
{10, 30, 20 }
Returns: 80
{54, 40, 43, 10, 98, 35, 52, 7, 48, 96, 7, 41, 97, 29, 35, 34, 12, 57, 41, 12, 60, 61, 7, 42, 33, 44, 98, 60, 78, 57, 65, 98, 97, 7, 7, 60, 8, 26, 67, 22, 21, 40, 63, 85, 35, 64, 18, 47, 88, 25 }
{59, 47, 52, 32, 89, 85, 76, 53, 11, 19, 9, 76, 17, 72, 49, 91, 98, 57, 16, 30, 80, 4, 70, 8, 89, 4, 39, 73, 18, 26, 64, 43, 39, 15, 76, 27, 67, 17, 46, 78, 37, 21, 19, 54, 59, 68, 44, 56, 91, 27 }
Returns: 74948
{1, 1, 1, 6, 0 }
{2, 7, 8, 3, 1 }
Returns: 18
{99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99 }
{99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 9, 99, 99, 99 }
Returns: 481140
{1, 2, 3 }
{3, 2, 1 }
Returns: 10
{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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }
{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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 58 }
Returns: 11498
{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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }
{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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }
Returns: 11480
{1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
{1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
Returns: 477
{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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }
{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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }
Returns: 22100
{1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 23, 2, 2, 3, 3, 3, 3, 32, 3, 3, 3, 3, 1, 1, 1, 1, 4, 56, 7, 82, 3, 3, 4, 5, 3, 3, 7, 23, 23, 23, 23, 23, 54, 45, 56, 67, 89, 65, 34, 23 }
{1, 2, 3, 4, 5, 67, 8, 5, 34, 23, 4, 4, 33, 23, 54, 3, 5, 5, 3, 3, 54, 23, 78, 8, 56, 4, 4, 5, 6, 7, 45, 4, 23, 2, 4, 5, 6, 7, 89, 5, 4, 4, 3, 5, 6, 7, 89, 5, 3, 2 }
Returns: 3202
{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, 30, 31, 32, 33, 34, 35, 67, 88, 99, 45, 68, 78, 78, 90, 87, 65, 45, 67, 66, 45, 46 }
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 23, 45, 67, 58, 56, 59, 13, 25, 46, 99, 87, 87, 67, 56, 78, 76, 76, 76, 54, 54, 34, 56, 45, 15, 46, 78, 98, 98, 78, 76, 5, 4, 4, 56, 7, 8, 89, 65 }
Returns: 33494
{7, 8, 5, 4, 100 }
{5, 3, 1, 8, 14 }
Returns: 255
{33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 45, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 3, 4, 5, 6, 7, 8, 9, 7, 6, 54, 45, 45, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54 }
{54, 54, 54, 54, 54, 54, 54, 65, 65, 65, 56, 65, 65, 65, 56, 65, 56, 56, 56, 65, 65, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 65, 56, 65, 56, 56, 56, 56, 56, 56, 56, 56, 65, 56 }
Returns: 101486
{2, 2, 2, 3, 1 }
{10, 10, 10, 10, 10 }
Returns: 100
{100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }
{100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }
Returns: 500000
{12, 21, 33, 49, 54, 61, 72, 82, 92, 1, 1, 2, 3, 4, 5, 6, 7, 81, 9, 0, 1, 2, 3, 4, 5, 6, 1, 2, 42, 53, 61, 7, 8, 1, 2, 3, 1, 2, 3, 1, 2, 3, 15, 2, 34, 16, 25, 31, 32, 43 }
{1, 22, 33, 4, 5, 1, 2, 3, 4, 5, 1, 2, 7, 8, 6, 22, 3, 4, 34, 34, 51, 4, 54, 3, 4, 3, 2, 3, 3, 2, 4, 3, 2, 3, 67, 65, 4, 34, 2, 42, 42, 23, 34, 45, 87, 44, 23, 54, 72, 1 }
Returns: 3377
{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, 30 }
{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, 30 }
Returns: 4960
{7, 8, 5, 4, 100, 1, 2, 3, 4, 5, 6, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 8, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 36, 37, 8, 39, 40, 5, 55, 55, 54, 58 }
{5, 3, 1, 8, 14, 35, 4, 6, 6, 6, 6, 6, 6, 6, 5, 5, 64, 46, 75, 46, 46, 46, 6, 6, 6, 6, 47, 87, 8, 7, 7, 7, 7, 7, 8, 9, 7, 7, 7, 8, 7, 7, 7, 7, 8, 9, 0, 0, 9, 8 }
Returns: 7046
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }
Returns: 1540