Problem Statement
You are a coach. You want to select a three-person team. You have the following goals:
- The rating of the first team member must be between 0 and A, inclusive.
- The rating of the second team member must be between 0 and B, inclusive.
- The rating of the third team member must be between 0 and C, inclusive.
You are given the
Definition
- Class:
- TopXorerEasy
- Method:
- maximalRating
- Parameters:
- int, int, int
- Returns:
- int
- Method signature:
- int maximalRating(int A, int B, int C)
- (be sure your method is public)
Constraints
- A will be between 0 and 1,000,000,000, inclusive.
- B will be between 0 and 1,000,000,000, inclusive.
- C will be between 0 and 1,000,000,000, inclusive.
Examples
2
1
0
Returns: 3
One of the optimal solutions is to select people with ratings (2, 1, 0). The team rating will then be (2 xor 1 xor 0) = 3.
1
2
4
Returns: 7
Here the only optimal solution is to select people with the largest possible ratings: (1, 2, 4).
3
4
5
Returns: 7
1
100
10000
Returns: 10101
1000000000
1000000000
1000000000
Returns: 1073741823
0
0
0
Returns: 0
1000000000
1000000
1000000
Returns: 1000341503
223681955
721666277
998457725
Returns: 1073741823
479204096
348434699
406178715
Returns: 536870911
462111071
665509025
410267921
Returns: 1073741823
969426292
959239629
489085415
Returns: 1073741823
756514159
195213118
37461193
Returns: 805306367
319810004
78615653
540429687
Returns: 935329791
992972842
213781741
979743293
Returns: 1073741823
775286772
466901295
466363181
Returns: 1073741823
749064950
760301879
306619656
Returns: 1073741823
744784286
654186365
490370843
Returns: 1073741823
948999844
800766441
526452409
Returns: 1073741823
913256120
892814458
44361309
Returns: 1073741823
869717659
212864705
533159814
Returns: 1073741823
587218172
727995794
553960176
Returns: 1073741823
103471524
880555343
501042345
Returns: 1073741823
69911
96283341
5
Returns: 96337919
647851155
72684359
394364234
Returns: 939524095
6
2
10
Returns: 15
16
9492801
530008
Returns: 10018815
1745153
73047
99722
Returns: 1835007
89719038
96
1499
Returns: 89720319
68
3
11
Returns: 79
90003555
8547645
861214
Returns: 98566143
9
83016371
18466488
Returns: 100663295
116
10
57419845
Returns: 57419903
8301123
563337955
5
Returns: 570425343
97
87038
849392
Returns: 917503
8
60120
422682465
Returns: 422707199
542734181
11125
84600
Returns: 542769151
302596
53
608
Returns: 303103
1525488
45
8543
Returns: 1533951
56659
8
42112558
Returns: 42139647
47955
49345
3855980
Returns: 3866623
5982200
75034
4856
Returns: 6029311
457102
10
342021918
Returns: 342360063
57951
131246
2257489
Returns: 2359295
201
92
6687
Returns: 6911
1
9
8693
Returns: 8701
4
452407
9641360
Returns: 9961471
607
10
6
Returns: 607
7713611
53208449
10
Returns: 58720255
44629
78
95357047
Returns: 95399935
593
485
40076367
Returns: 40077311
146798713
88440475
6628665
Returns: 234881023
69
87430626
42837982
Returns: 130023423
896979264
392896387
656650138
Returns: 1073741823
4688
8753
8
Returns: 13311
9877
2739
620598295
Returns: 620609535
823102359
83505831
2
Returns: 905969663
6293617
2480464
77461814
Returns: 83886079
2
58
8345
Returns: 8383
301
418
368
Returns: 511
575372
6133771
600
Returns: 6291455
53
68
8946620
Returns: 8946687
86641159
49712278
600604518
Returns: 671088639
4
4
0
Returns: 7
4914885
4499481
96
Returns: 8388607
475
25
3
Returns: 479
903
502
8590
Returns: 9215
643240
437185
280
Returns: 1048575
9102
4998
594155
Returns: 606207
6467291
8977169
995
Returns: 15400959
79
19
201993
Returns: 202079
25260
22666
9982
Returns: 32767
92918241
96723272
898164
Returns: 134217727
11259371
20608755
5260545
Returns: 33554431
2
0
1376208
Returns: 1376210
14725317
95781549
44597
Returns: 100663295
950139
253022
9315
Returns: 1048575
1525
228
827499
Returns: 828927
482593
418286
97489
Returns: 524287
6501838
5623415
7
Returns: 8388607
82693904
84290541
11206297
Returns: 134217727
9
9
621
Returns: 623
868932149
197424173
553933
Returns: 1006632959
343
32423
699999998
Returns: 700022783
8
0
8
Returns: 15
986757483
986757483
986757483
Returns: 1073741823
100000000
100000000
0
Returns: 134217727
128
32
8
Returns: 168
12
11
5
Returns: 15
1
2
5
Returns: 7
986757483
986757483
0
Returns: 1073741823
8
2
0
Returns: 10
8
0
0
Returns: 8
11192916
114514191
1333
Returns: 117440511
10
10
0
Returns: 15
12
4
0
Returns: 15
10001
100
1
Returns: 10101
36
4
8
Returns: 47
5
10
2
Returns: 15
0
100
100
Returns: 127
51
33
49
Returns: 63