Problem Statement
There are N students in your class.
The strength of each student is a small nonnegative integer.
You are given these strengths in the
You are going to divide all students into three teams for the boat race "TrySail". Each student must be assigned to exactly one of the three teams. Teams cannot be empty.
Strangely enough, in this race the strength of a team is the bitwise xor of the strengths of its members. You want to maximize the sum of strengths of the three teams. Compute and return the largest possible sum of the teams' strengths.
Definition
- Class:
- TrySail
- Method:
- get
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int get(int[] strength)
- (be sure your method is public)
Constraints
- N will be between 3 and 50, inclusive.
- strength will contain exactly N elements.
- Each element of strength will be between 0 and 255, inclusive.
Examples
{2,3,3}
Returns: 8
There are only three students. The only way to create three nonempty teams is to put each student into a different team. In that case the sum of teams' strengths will be 2+3+3 = 8.
{7,3,5,2}
Returns: 17
There are 6 ways to make 3 teams: · {0},{1},{2,3}: sum of strengths is 7+3+(5 xor 2) = 17 · {0},{2},{1,3}: sum of strengths is 7+5+(3 xor 2) = 13 · {0},{3},{1,2}: sum of strengths is 7+2+(3 xor 5) = 15 · {1},{2},{0,3}: sum of strengths is 3+5+(7 xor 2) = 13 · {1},{3},{0,2}: sum of strengths is 3+2+(7 xor 5) = 7 · {2},{3},{0,1}: sum of strengths is 5+2+(7 xor 3) = 11 Therefore, the answer is 17.
{13,13,13,13,13,13,13,13}
Returns: 26
{114,51,4,191,9,81,0,89,3}
Returns: 470
{108,66,45,82,163,30,83,244,200,216,241,249,89,128,36,28,250,190,70,95,117,196,19,160,255,129,10,109,189,24,22,25,134,144,110,15,235,205,186,103,116,191,119,183,45,217,156,44,97,197}
Returns: 567
{70,245,241,10,203,233,129,215,170,151,54,11,171,14,11,85,222,113,1,89,124,38,17,247,72,32,233,142,106,39}
Returns: 716
{212,161,221,174,251,113,86,121,133,218}
Returns: 762
{100,117,9,40,166,239,169,17,216,241,14,205,106,203,46,34,152,219,195,234,127,215,218,243,198,219,136,253,55,38,161,15,147}
Returns: 551
{147,107,117,239,35,255,18,107,193,55,209,215,62,39,193,216,94,220,179,153,75,100,246,217,108,202}
Returns: 567
{134,240,134,16,25,214,138,254,57,71,188,18,72,129,120,76,134,197,159,14,199,58,166,181,117,33,102,144,51,250,78,82,211,49,122,223,53,218,233,142,176,100,112,195,204}
Returns: 599
{211,150,204,103,24,53,242,100,16,242,199,23,48,34,95,165,152,197,169,188,237,32,193,1,61,6,0,74,99,190,171,187,28,162,176,17}
Returns: 615
{218,24,67,36,105,62,36,252,25,61,143,23}
Returns: 660
{33,81,251,117,17,211,42,151,109,134,126,113,189,189,22,33,224,243,65,120,221,247,72,245,39,56,1,109,68,155,122,51,221,140,149,105,178,219,225}
Returns: 557
{159,153,201,67}
Returns: 578
{6,207,11,56,113,196,68,52,172,94,138,188,238,119,63,176,135,134,253,26,90,67,216}
Returns: 712
{122,188,36,118,39,230,188,127,184,0,32,85,30}
Returns: 579
{24,208,236,226,134,113,68,143,134,174,255,253,125,185,111,222,80,213,188,225,41,208,52,150,170,152,142,104,116,35,174}
Returns: 521
{81,146,253,7,238,70,80,114,177,142,179,119,78,80,190,81,123,243,51,216,228,95,87,46,71,13,116,48,240,102,240,162,189,246,48,215,183}
Returns: 711
{81,146,253,7,238,70,80,114,177,142,179,119,78,80,190,81,123,243,51,216,228,95,87,46,71,13,116,48,240,102,240,162,189,246,48,215,183}
Returns: 711
{96,135,29,65,219,78,191,146,126,127,57,77,15,196}
Returns: 699
{26,179,228,54,59,4,156,206,50,118,4,140,31,89,185,90,94,120,222,151,169,94,2,254,232,236,43,136,120,159,213,243,1,156,59,70,183}
Returns: 552
{130,207,120,182,10,160,19,183,50,46,11,243,206,225,244,11,47,137,17,131,219,153,149,209,110,126,244,218,141,66,84,252}
Returns: 720
{119,193,80,182,250,93,158,214,107,199,55,164,131,142,100,149,44,3}
Returns: 593
{194,81,48,27,206}
Returns: 552
{223,243,129,63,224,221,163,214,110,111,225,63,203,18,118,177,66,213,231,37,31,94,148,155,122,20,216,80,65,62,140}
Returns: 531
{153,205,238,218,51,211,196,1,101,185,249,157,69,37,136,120,189,174,13,32,231,235}
Returns: 605
{103,53,183,64,68,71,146,240,59,233,79,18,80,16,14,80,131}
Returns: 724
{187,245,158,108,195,243,71,129,26,37,25,32,125,96,243,53,160,190,72,106,70,54,22,122,10,185,146,0,163,122,213,214,75,62,253,55,117,224,229,94,12,132,147,89,141,22,108,253,97,30}
Returns: 744
{154,173,227,1,227,220,110,93,47,144,166,211,97,242,161,127,147,39,131,150,44,58,120,137,215,32,82,187,202,15,168,231,166,127,17}
Returns: 578
{156,156,169,78,79,197,121,52,214,76,59,201,252,237,238,75,72,65,239,3,239,79,238,130,215,44,137,190,98,33,190,127,5,185}
Returns: 549
{251,115,38,233,255,212,119,103,49,35,206,222,218,16,206,44,167}
Returns: 751
{205,188,9,155,133,69,200,193,232,22,205,90,229,72,5,235,146,68,255,246,110,171,154,134,131,133,54,100,193,111,87,211,104,15,62,0,33,34,46,243,101,199}
Returns: 603
{188,184,218,48,37,237,69,61,139,120,168,72,14,66,93,162,31,83,168,194,243,153,75,162,171,33,151,131,132,165,74,82,38,88,170,124,140,32,32,114,88,138,9,179,176,131,244,232,157}
Returns: 622
{34,249,17}
Returns: 300
{119,67,48,166,188,27,121,122,53,108,110,30,131,52,98,36,143,128,83,173,109,99,10,195,184,145,48,232,48,10,97,232,196,181,89,187,181,100,111,193,133,166,70,59,48,11,160,5}
Returns: 644
{231,102,102,89,191,1,79,203,24,165,121,224,145,90,225,31,0,93}
Returns: 710
{32,56,185,167,238,122,52,97,169,45,213,233,1,57,40,26,33,232,92,6,201,33,192,16,164,81,24,45,193,159,35,168,136,52,126,239,43,69,150,103,69,88,3}
Returns: 613
{151,148,157,116,221,143,103,33,155,176,182,230,0,202,188,85,183,111,124,49,202,16,212,56,72,254,157,237,228,243,125,247,1,20,244,205,82,200,143,249,69}
Returns: 729
{178,111,60,202,194,170,118,170,99,119,142,242,229,70,243,238,74,7}
Returns: 514
{30,198,37,105,76,68,143,224,225,253,202,179,146,76,134,16,13,105,203,101}
Returns: 530
{61,133,170,199,4,67,201,100,110,223,123,207,108,105,215,186,77,158,115,59,57,127,134,174,14,141,81,200,9,46,110,204,19,176,152,151,211,8,163,105,168,91,135}
Returns: 751
{234,197,59,63,51,189,110}
Returns: 711
{197,114,227,81,235,153,158,70,118,162,137,145,210,130,226,219,92,97,230,123,98,197,30,59,130,119,121,145,58}
Returns: 525
{154,130,187,52,66}
Returns: 585
{195,148,20,126,90,216,76,105,137,153,141,212,49,89,208,63,208,114,136,198,33,5,123,184,140,238,22,6,108,85,58,247,220,100,242,163,151,232,121}
Returns: 564
{168,146,138,224,137,117,196,57,235,99,171,162,53,59,63,125,237,117,66,166,254,40,81,46,101,18,83,193,163,215,139,17,58,239,36,211,96,7,158,128,115,240,60,45,145,54}
Returns: 554
{226,129,192,173,157,8,137,199,194,239,238,208,78,229,27,68,5,41,251,109}
Returns: 646
{146,103,249,118,237,109,234,29,73,105,173,155,135,227,7,60,53,164,105,141,238,182,56,198,20,38,61,64,119,174,171,248,252,69,131,126,157,205,141,149,144,165}
Returns: 617
{130,19,55,10,189,218,185,89,230,55,190,55,55,151,230,112,105,127,153,201,22,152,230,73,177,134,76,81,58,150,25,45,10,213,189,108,29,157,230,226,213,125,19,9,227,224}
Returns: 681
{204,32,49}
Returns: 285
{194,157,155,111,4,147,107,18,235,75,102,95,223,186,207,133,201,238,12,232,63,74,207,162,35,204,201,228,188,240,80,169,16,172,149,40,104,205,200,218,191,181,197,126}
Returns: 598
{161,21,19,149,47,62,228,113,81,24,94,230,79,249,49,186,71,180,239,29,216,140,197,116,221,210,154,20,43,14,240,10,203,143,198,9}
Returns: 585
{113,46,6,74,153,104,75,187,56,94,219,109,130,125,170,132,29,170,187,209,121,37,64,59,17,171,18,183,176,62,13,31,168,11,237,32,106}
Returns: 620
{142,227,213,175,96,120,109,75,68,53,152,48,184,253,94,213,212,100,243,35,2,208,60,193,44,112,71,123,61,121,248,161,225,181,0}
Returns: 598
{62,67,245,70,175,237,31,239,22,171,216,45,205,43,7}
Returns: 723
{146,222,254,162,127,33,181,253,11,245,132,67,24,213,43,131,176,99,164,65,83,123,194,254,4,217,238,131,192,51,178,192,37,130,141,167,154}
Returns: 604
{245,85,50,91,155,99,85,43,100,213,199,31,74,206,173,212,162,64,124,234,88,164,8,82,69,132,218,166,4,110,125,181,74,84,34,216,156,54,185,127,180,244,243,100,64,48}
Returns: 567
{104,7,165,154,94,121,122,248,168,220,79,152,247}
Returns: 671
{212,125,15,205,155,177,45,49,3}
Returns: 604
{13,131,142}
Returns: 286
{189,160,57,102,122,135,112,226,134,97,177,2,177,59,111,27,90,54,91,57,98,19,97,231,232,206,71,129,27,235,149,139,69,134,52,251,115,28,129,143}
Returns: 539
{202,96,235,99,176,215,7,97,121,143,131,30,200,62,201,156,50,219,58,142,33,189,189,163,80,199,142,59,74,150,233}
Returns: 545
{19,172,245,57,236,34,238,195,51,110,78,120,74,235,46,21,222,27,29,131,204,10,174,251,216,224,110,141}
Returns: 624
{149,134,168,66,112,17,84,226,157,102,208,69,202,158,69,76,11,134,142,155,9,115,226,101,83,10,231,180,147,143,77,191,207,165,34,1,224,8}
Returns: 571
{170,74,19,232,139,181,118,207,112,241,173,231,242,119,148,243,149,199,47,106,118,5,253,222,180,74,113,28,154}
Returns: 761
{207, 49, 23, 218, 45, 183, 15, 238, 208, 201, 243, 233, 73, 248, 47, 83, 58, 140, 112, 171, 130, 175, 189, 114, 32, 86, 136, 42, 98, 16, 7, 69, 6, 26, 116, 46, 220, 103, 203, 149, 138, 17, 252, 202, 58, 174, 134, 137, 229, 30 }
Returns: 641
{6, 7, 13, 19 }
Returns: 43
{166, 31, 3, 90, 125 }
Returns: 411
{255, 255, 255 }
Returns: 765
{123, 188, 25, 244, 22, 50, 254, 61, 113, 115 }
Returns: 717
{1, 2, 4, 8, 16, 32, 64, 128, 0, 1, 2, 4, 8, 16, 32, 64, 128, 0, 1, 2, 4, 8, 16, 32, 64, 128, 0, 1, 2, 4, 8, 16, 32, 64, 128, 0, 1, 2, 4, 8, 16, 32, 64, 128, 0, 1, 2, 4, 1, 0 }
Returns: 759
{0, 0, 255 }
Returns: 255
{114, 51, 4, 191, 9, 81, 0, 89, 3 }
Returns: 470
{41, 35, 190, 132, 225, 108, 214, 174, 82, 144, 73, 241, 241, 187, 233, 235, 179, 166, 219, 60 }
Returns: 515
{192, 135, 201, 85, 111, 171, 143, 34, 83, 39, 239, 158, 72 }
Returns: 765
{158, 157, 123, 119, 172, 202, 94, 78, 238, 170, 180, 180, 228, 20, 131, 215, 222, 194, 107, 139, 78, 56, 71, 49, 33, 172, 55, 90, 50, 166, 74, 174, 250, 36, 40, 115, 8, 125, 121, 216, 210, 39, 125, 93, 14, 200, 51, 124, 85, 46 }
Returns: 641
{158, 15, 220, 218, 10, 118, 112, 213, 210, 78, 143, 169, 136, 246, 158, 204, 245, 45, 109, 53, 121, 52, 153, 51, 155, 17, 189, 248, 67, 121, 104, 135, 205, 178, 149, 211, 134, 67, 183, 158, 93, 6, 104, 234, 98, 97, 140 }
Returns: 548
{108, 66, 45, 82, 10, 109, 189, 24, 22, 25, 134, 144, 110, 15, 235, 205, 186, 103, 116, 191, 119, 183, 45, 217, 156, 44, 97, 197 }
Returns: 761
{16, 15, 14, 13, 12, 11 }
Returns: 57
{9, 7, 6, 3 }
Returns: 25
{176, 91, 177, 242, 51, 207, 25, 67, 233, 197, 43, 104, 196, 85, 212, 183, 202, 204, 157, 108, 15, 72, 30, 232, 211, 30, 23, 198, 121, 32, 60, 205, 26, 162, 104, 114, 214, 168, 129, 152, 191, 119, 152, 96, 33, 114, 182, 250, 254, 242 }
Returns: 645
{9, 9, 7, 0, 3, 9, 8 }
Returns: 27
{9, 7, 3, 6 }
Returns: 25
{7, 6, 5, 4, 4, 4, 3, 2, 0, 0 }
Returns: 15
{0, 0, 1 }
Returns: 1
{125, 244, 124, 124, 123, 43, 235, 14, 23, 52 }
Returns: 537
{168, 140, 184, 94, 217, 78, 175, 250, 191, 176, 148, 116, 29, 117, 229, 220 }
Returns: 700
{6, 6, 11, 21 }
Returns: 42