Problem Statement
- At the beginning, he will set the variable X to zero.
- For each element Y of A, in the given order, he will set X to (X + (X xor Y)).
- He will announce the final value of the variable X.
Definition
- Class:
- Xscoregame
- Method:
- getscore
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int getscore(int[] A)
- (be sure your method is public)
Constraints
- A will contain between 1 and 15 elements, inclusive.
- Each element in A will be between 0 and 50, inclusive.
Examples
{1,2,3}
Returns: 12
An optimal solution is to rearrange A into the order {3, 1, 2}. Given this array, Hero will perform the following steps: He will set X to zero. Then, he will set X to (0 + (0 xor 3)) = 3. Then, he will set X to (3 + (3 xor 1)) = 5. Finally, he will set X to (5 + (5 xor 2)) = 12, and he will announce the value 12.
{10,0,0,0}
Returns: 80
Here an optimal solution is to leave the array in the original order. The variable X will have the values 0, 10, 20, 40, and finally 80.
{1,1,1,1,1,1}
Returns: 1
{1,0,1,0,1,0,1,0}
Returns: 170
{50,0,1,0,1,0,1,0,1,0,1,0,1,0,1}
Returns: 830122
{44,16,3,33,34,35,44,44,25,48,16,32,37,8,33}
Returns: 1046478
{0,37,40,30,50,32}
Returns: 2002
{12,33,22}
Returns: 172
{1,1,0,1,1,0,1}
Returns: 81
{2,22,15,45,7,2,0,40,13,25,26,5,6}
Returns: 252913
{37,4,8,39,29,48,43,50,12,42}
Returns: 32652
{12,13,39,8,19,32,8,43,12,3,44,1,29,16,2}
Returns: 1031604
{11,13,12,6,12,9,2,11,12,17,17,14}
Returns: 61299
{18,48,39,16,30,32}
Returns: 1898
{31,5,7,26}
Returns: 228
{13,48,50,4}
Returns: 460
{15,17,29,1,14,29,12,38,34,2,22,45,32}
Returns: 259933
{19,35,33,35,26,6}
Returns: 1891
{40,32,41}
Returns: 76
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Returns: 0
{0,2,7,1,8,2,8,0,8,2}
Returns: 7528
{0,0,0,1,1,0,1,1,1,1,1,1,0,1,0}
Returns: 21841
{36,38}
Returns: 40
{25,21,9,25,1,20,5,34,26}
Returns: 12245
{31,36,35,33,47,12,30,2}
Returns: 8048
{34,48}
Returns: 66
{2,0,1,2,2,0,1,2,2,2,2,2,0,1,2}
Returns: 56148
{8,4,1,25}
Returns: 233
{8,9,0,0,9,3,7,0,1,3,4,8,6,2,5}
Returns: 256950
{3,3,4,3,4,1,2,4,4,2,1,4,3,0,2}
Returns: 121716
{13,11,30,9,22,2}
Returns: 990
{28,24,10,45,47,47,35,29,12}
Returns: 16172
{22,13,42,26,40,19,27,50,4,11,8,35,27,21,15}
Returns: 1047987
{45,28,0,37,23,26}
Returns: 1970
{11,2,1,5,10,2}
Returns: 460
{17,7,8,17,1,12,5,7,14,17}
Returns: 15575
{8,5,7,2,7,11,9,7,4,7,8,5,9,7,0}
Returns: 259911
{26,40,35,23,8,46,11}
Returns: 3982
{49,31,29,25}
Returns: 351
{4,38,26,43,0,20,34,5,19,14,37,31,26,37,0}
Returns: 1044213
{19,2,0,37,10,26,10,7,20,15,26,27,43,8,14}
Returns: 1015410
{1,1,0,1,1,1,0,1,0,0,0,1,0,1,1}
Returns: 21841
{31,7,32,28,43}
Returns: 951
{16,30,44,44,19,44,19,38,5,36,1,46,10,13,47}
Returns: 1044432
{8,10,28,29,0,8,50,46,13,2,27,39,39,48,25}
Returns: 1047528
{22,3,25,4}
Returns: 232
{9,6,1,9,3,1,9,8,2,1,8,9,0,5,5}
Returns: 245457
{31,7,9,20,17,30,14,1,24}
Returns: 8109
{5,6,35,44,7,20}
Returns: 1720
{2,30}
Returns: 58
{0,28,14}
Returns: 110
{33,7,43,6}
Returns: 423
{48,4,27,1,26,42,20,45,31,15,16,18,35,38,20}
Returns: 1048213
{35,21,37,17,31,17,26,26,25,3,34,32,2,26,2}
Returns: 1040101
{15,39,31,49,24,36,36,16,12,38,29,38,23,6,19}
Returns: 1048294
{3,2,2}
Returns: 10
{41,12,17,28,18,2,48,8,19,13,2,22,18,42,34}
Returns: 1047234
{4,28,18,45,31,14,30,15,44,5,19}
Returns: 64410
{0,33,26,42,20,3,43,23,45,1}
Returns: 32301
{13,25,15,24,12,18,13,0,3,26}
Returns: 16241
{2,1,2,2,2,2,0,0,1,2,1,0,1,0,0}
Returns: 56096
{30,15,18,41,8,23,41,41,6,28,21,0,48,36,40}
Returns: 1047488
{7,20,47,32,5,24,17,29,19,27,44}
Returns: 65353
{37,48,26,32,45,38,0}
Returns: 4045
{33,44,25,31,48,12,11,35,13,13,6,44,7}
Returns: 260850
{2,5,3,2,26,18,22,26,26,13,9,4,15,16,22}
Returns: 523224
{48,20,10,27,45,22,17,34,31,29,3,9,23,42,39}
Returns: 1047981
{18,1,10,30,0,47,39,34,20,48,48}
Returns: 65338
{31,9,32,1,4,4,28,20,24}
Returns: 12252
{15,20,4,12}
Returns: 176
{9,7,36}
Returns: 167
{6,40,2,12,36,26,1,15,15,40,35,50,45,17,17}
Returns: 1047517
{35,45,12,13,16}
Returns: 914
{36,9,21,11,22,31,21,9,24,8,15,5,20}
Returns: 229289
{4,4}
Returns: 4
{13,10,47,25,41,21,23,7,27,19,27,1,12,38,31}
Returns: 1045484
{43,9,22}
Returns: 201
{19,41,15,38,17,37,23,39,48,45,1}
Returns: 65433
{10,8,3,17,9,7,10,14,11,5,14,17,17,14,10}
Returns: 507756
{9,14,10,17}
Returns: 205
{22,18,0,22,9,3,13,6,19,21,0,22,19,10,14}
Returns: 523200
{8,31,34,49,20,44,45,44,31,24,17,2,38,22,8}
Returns: 1047786
{5,21,3,13}
Returns: 185
{11,20,37,24,32,32}
Returns: 1931
{3,18,35,18,14,36,42}
Returns: 3811
{5, 24, 31, 2, 0, 0 }
Returns: 994
{25, 6, 16, 48, 32, 5, 19, 43, 45, 2, 20, 18, 20, 16, 41 }
Returns: 1047522
{35, 5, 6, 34, 15, 35, 32 }
Returns: 3019
{49, 48, 47, 46, 45, 44, 43, 43, 41, 40, 39, 38, 37, 36, 35 }
Returns: 982987
{40, 48, 4, 15, 0, 22, 44, 36, 27, 24, 33, 1, 30, 43, 32 }
Returns: 1047437
{0, 37, 43, 44, 37, 12, 21, 43, 34, 35 }
Returns: 32219
{50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36 }
Returns: 1032136
{41, 25, 6, 24, 33, 37, 15, 38, 15, 24, 13, 44, 2, 9, 8 }
Returns: 1042383
{29, 34, 40, 17, 16, 12, 0, 40, 20, 35, 5, 13, 27, 7, 29 }
Returns: 1044121
{24, 10, 44, 27, 2 }
Returns: 882
{8, 2, 7, 7, 4 }
Returns: 183
{33, 36, 27, 15, 43, 35, 36, 42, 49, 21, 12, 27 }
Returns: 130793
{1, 2, 2, 4, 5, 6, 7, 8, 9, 50, 11, 12, 13, 14, 15 }
Returns: 1015784
{16, 25, 35, 50 }
Returns: 424
{7, 4, 2, 1 }
Returns: 54
{34, 27, 32, 42, 48, 43, 5, 30 }
Returns: 8122
{4, 5, 8 }
Returns: 40
{1, 2, 18, 21, 30, 33, 34, 40, 40, 47 }
Returns: 32565
{42, 42, 37 }
Returns: 82
{28, 8, 19 }
Returns: 98
{5, 10, 10 }
Returns: 50
{50, 13, 50, 13, 50, 0, 50, 13, 50, 13, 50, 13, 50, 13, 50 }
Returns: 1040260
{2, 7, 2, 3, 1, 6, 6, 6, 1 }
Returns: 1976
{6, 4, 7 }
Returns: 23
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }
Returns: 262114
{20, 33, 10, 45, 2, 42, 17, 3, 30, 27, 7, 22, 32, 36, 7 }
Returns: 1046124
{0, 19, 17, 5, 39, 16, 40, 4 }
Returns: 7414
{24, 47, 7, 17, 25, 42, 47, 33, 2, 45, 23 }
Returns: 64977
{5, 19, 28 }
Returns: 94
{2, 9, 20, 18, 19 }
Returns: 466
{8, 13, 13, 5, 9, 7, 5 }
Returns: 965
{1, 3, 4, 5, 8, 8, 14, 18, 20, 22, 28, 31, 39 }
Returns: 229350
{4, 8, 16, 17, 18, 19, 20, 21, 22, 23, 24 }
Returns: 32615
{34, 35, 44, 44, 25, 48, 16, 32 }
Returns: 8096
{1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 12, 13, 14, 15 }
Returns: 262128
{0, 4, 4, 4, 1 }
Returns: 86
{41, 17, 34, 0 }
Returns: 418
{17, 41, 1, 4, 45, 1, 41, 8, 29, 26 }
Returns: 31601
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
Returns: 262128
{43, 20, 1, 4, 11, 13 }
Returns: 1766
{8, 7, 0, 0, 1, 6 }
Returns: 376
{18, 47, 40, 38, 14, 45, 41, 27, 17, 32 }
Returns: 32654
{49, 9, 34, 32, 37, 37, 48, 45, 19, 5, 31, 20, 19, 29 }
Returns: 524053
{1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }
Returns: 262037
{2, 1, 2, 5, 10, 4, 8, 2, 19, 1, 4 }
Returns: 24497
{20, 32, 31, 42, 40, 50, 34, 48, 2, 19, 13, 27, 44, 46, 47 }
Returns: 1048035
{12, 24, 34, 45, 22, 23, 32, 21, 23, 44, 14, 11, 37, 13, 25 }
Returns: 1046256
{35, 9, 21, 50 }
Returns: 429
{23, 36, 21, 45, 24, 22, 20 }
Returns: 4009
{14, 13, 12, 45, 27, 7, 34, 19, 23, 43, 22, 29, 43, 34, 37 }
Returns: 1047527
{15, 26, 6, 27, 30, 21 }
Returns: 987
{33, 34, 35, 36, 37, 38, 39, 40, 16, 42, 1, 2 }
Returns: 130869
{37, 4, 5, 23, 16, 11, 33, 29, 5, 22 }
Returns: 28601
{48, 39, 34, 26, 3, 45, 46, 32 }
Returns: 8135
{7, 9, 12, 18, 20, 44, 50, 0, 1, 9, 10, 22 }
Returns: 129838
{41, 11, 3, 18, 47 }
Returns: 923
{22, 22, 9, 22 }
Returns: 214
{50, 49, 48, 47, 46, 45, 44, 43, 7, 6, 5, 4, 3, 2, 1 }
Returns: 1047025
{43, 31, 36, 30, 47, 50, 39 }
Returns: 4044
{36, 35, 38, 26, 46, 11, 12, 32, 36, 4, 34, 38, 5, 15, 49 }
Returns: 1044406
{7, 49, 23, 8, 30, 22, 44, 28, 23, 9, 40, 15, 42, 42, 37 }
Returns: 1047911
{0, 3, 2 }
Returns: 11
{7, 7, 1, 2, 6 }
Returns: 119
{21, 43, 50, 31, 48, 37, 26, 35, 7, 13, 19, 41, 33, 23, 17 }
Returns: 1048285
{31, 3, 8, 9, 10 }
Returns: 491
{31, 9, 6, 25, 4, 28, 14, 44, 12, 37, 4, 26, 23, 40, 45 }
Returns: 1043957
{19, 24, 28, 8 }
Returns: 226
{25, 5, 21, 33, 15, 20, 19, 29, 0, 6, 30, 29, 40, 47, 24 }
Returns: 1047791
{18, 45, 47, 26, 21, 38, 19 }
Returns: 4049
{6, 1, 6, 0 }
Returns: 56
{0, 2, 3, 5, 4, 0, 2, 3, 5, 4, 0, 2, 3, 5, 4 }
Returns: 126810
{7, 9, 12, 18, 20, 44, 50, 0, 1, 9, 10, 22, 49, 17, 21 }
Returns: 1046229
{16, 22, 41, 43, 3, 50, 16, 2, 16, 26, 48, 12, 38, 38 }
Returns: 523480
{40, 32, 41, 31, 32, 45, 37, 29, 25, 49, 36, 38, 36, 30, 28 }
Returns: 1048287
{14, 19, 49, 22, 35, 46, 39, 17 }
Returns: 8080