Problem Statement
Barong and Rangda are characters from Balinese mythology. Barong, the king of spirits, represents good, while Rangda, the demon queen, represents evil.
We know that Barong is stronger than Rangda.
While traveling in Bali, we were pondering hypothetical fights between two teams, each consisting of some Barongs and some Rangdas.
Suppose there are two teams:
- Team 1 consists of B1 Barongs and R1 Rangdas.
- Team 2 consists of B2 Barongs and R2 Rangdas.
Consider the following statement: "Team 1 is stronger than team 2."
There are three possible scenarios, listed below. Determine which scenario occurs and return the corresponding message. (See Notes below if you need a more formal definition of the problem.)
- If we can be sure that the statement is correct, return "correct".
- If we can be sure that the statement is not correct, return "incorrect".
- In all other cases, return "unknown".
Definition
- Class:
- BarongAndRangda
- Method:
- compare
- Parameters:
- int, int, int, int
- Returns:
- String
- Method signature:
- String compare(int B1, int R1, int B2, int R2)
- (be sure your method is public)
Notes
- All Barongs on both teams are identical copies of the same Barong and thus they all have the same strength: a positive real number b.
- The same is true about all the Rangdas: the strength of each Rangda is the same positive real number r.
- We don't know the exact values of b and r, we only know that b > r.
- The strength of a team is the sum of the strengths of individuals that form the team.
Constraints
- B1 will be between 0 and 10^8, inclusive.
- R1 will be between 0 and 10^8, inclusive.
- B2 will be between 0 and 10^8, inclusive.
- R2 will be between 0 and 10^8, inclusive.
Examples
1
0
0
1
Returns: "correct"
Team 1 has one Barong, team 2 has one Rangda. Team 1 is obviously stronger than team 2.
0
1
1
0
Returns: "incorrect"
Team 1 has one Rangda, team 2 has one Barong. The statement "Team 1 is stronger than team 2." is obviously false.
0
0
0
0
Returns: "incorrect"
Both teams are empty, and thus they have the exact same strength. Therefore the statement "Team 1 is stronger than team 2." is false.
4
7
1
1
Returns: "correct"
A team with 4 Barongs and 7 Rangdas is clearly stronger than a team with just one being of each type.
9
0
0
10
Returns: "unknown"
Are 9 Barongs stronger than 10 Rangdas? We don't know: it's possible that they are, but it's also possible that they aren't.
5
1
6
8
Returns: "incorrect"
7
9
5
4
Returns: "correct"
8
6
6
9
Returns: "unknown"
0
6
10
0
Returns: "incorrect"
1
0
4
7
Returns: "incorrect"
8
0
5
9
Returns: "unknown"
6
3
3
8
Returns: "unknown"
8
5
7
3
Returns: "correct"
0
8
5
5
Returns: "incorrect"
9
5
8
9
Returns: "unknown"
3
3
0
2
Returns: "correct"
5
1
5
9
Returns: "incorrect"
6
8
8
4
Returns: "unknown"
1
10
3
5
Returns: "unknown"
3
7
1
6
Returns: "correct"
9
5
10
4
Returns: "incorrect"
3
8
4
5
Returns: "unknown"
8
9
0
7
Returns: "correct"
4
9
6
4
Returns: "unknown"
8
3
9
1
Returns: "unknown"
10
3
6
7
Returns: "correct"
4
9
8
2
Returns: "unknown"
7
0
2
8
Returns: "unknown"
10
1
1
4
Returns: "correct"
8
9
8
7
Returns: "correct"
6
5
0
9
Returns: "correct"
4
10
9
8
Returns: "incorrect"
10
7
10
5
Returns: "correct"
0
9
3
3
Returns: "unknown"
5
6
2
2
Returns: "correct"
7
3
2
1
Returns: "correct"
2
9
5
8
Returns: "incorrect"
6
1
4
7
Returns: "unknown"
0
10
1
6
Returns: "unknown"
1
5
0
4
Returns: "correct"
0
2
2
8
Returns: "incorrect"
7
3
7
8
Returns: "incorrect"
7
9
9
0
Returns: "unknown"
1
2
2
8
Returns: "incorrect"
5
10
0
9
Returns: "correct"
3
0
6
1
Returns: "incorrect"
0
1
4
0
Returns: "incorrect"
8
4
3
9
Returns: "correct"
8
2
8
9
Returns: "incorrect"
4
9
9
1
Returns: "unknown"
9
7
5
8
Returns: "correct"
0
1
6
6
Returns: "incorrect"
5
4
9
7
Returns: "incorrect"
9
2
1
8
Returns: "correct"
1
7
10
7
Returns: "incorrect"
2399512
58328732
75689378
70078446
Returns: "incorrect"
8884073
38604912
94590808
65793833
Returns: "incorrect"
67430251
15318071
32899408
47270011
Returns: "correct"
44440785
22403305
62083898
3032521
Returns: "unknown"
78882855
13178276
90051561
61669036
Returns: "incorrect"
61811085
37149708
85635188
73137984
Returns: "incorrect"
92075600
93318806
92499519
3192233
Returns: "unknown"
75188600
25405454
91214348
38527828
Returns: "incorrect"
5487650
35334372
72779967
64784620
Returns: "incorrect"
51499797
9189354
96961863
14634391
Returns: "incorrect"
69909065
95168578
79187968
80385293
Returns: "unknown"
64064611
72095949
99902632
48581797
Returns: "incorrect"
77639793
41835265
55310561
91644731
Returns: "unknown"
27497163
98296089
84895099
12273609
Returns: "unknown"
13781561
68772062
40936050
54368855
Returns: "incorrect"
44661711
72342234
48334821
14602757
Returns: "unknown"
12506466
83540524
99854645
57193755
Returns: "incorrect"
48389421
6743768
46946838
78226603
Returns: "unknown"
7580113
52594212
85085671
35958753
Returns: "incorrect"
34136322
28267709
38886335
28079335
Returns: "incorrect"
62411436
88761317
40200080
59759789
Returns: "correct"
59116460
42607697
90529042
7351251
Returns: "unknown"
20840877
77884741
64384229
82593
Returns: "unknown"
3694165
56739590
61391545
69823221
Returns: "incorrect"
58770988
82417635
34590875
39454874
Returns: "correct"
13758299
40678043
16622633
22783175
Returns: "unknown"
56785868
45185241
66777199
57176330
Returns: "incorrect"
31475118
67559244
76540062
68885258
Returns: "incorrect"
35312855
42008764
74462767
3096058
Returns: "incorrect"
81723759
90337955
50911559
79807188
Returns: "correct"
79094864
93520770
79838235
92590142
Returns: "unknown"
83753114
61985247
82809843
74935577
Returns: "unknown"
24092118
91607675
94207236
50602006
Returns: "incorrect"
5744011
24378528
82273548
24355392
Returns: "incorrect"
83735900
10459939
65089466
55166079
Returns: "unknown"
8089388
30121119
61971410
23610326
Returns: "incorrect"
80253900
53404307
599175
83811639
Returns: "correct"
18668369
99756841
9769200
75187658
Returns: "correct"
52225846
101271
51589221
67018617
Returns: "unknown"
99570406
61085683
84527118
50090101
Returns: "correct"
98062723
16439563
68618494
53751876
Returns: "unknown"
13704625
11547663
56410435
55291287
Returns: "incorrect"
73887346
13993922
82850912
23465413
Returns: "incorrect"
89270733
66916352
63860856
58954789
Returns: "correct"
80038296
12579539
53083555
70399534
Returns: "unknown"
67865531
43942497
58059732
26393018
Returns: "correct"
42464562
53300118
10011290
17785601
Returns: "correct"
95661430
65447231
44702627
87233168
Returns: "correct"
87148030
14071798
33889451
65157510
Returns: "correct"
12443255
47936701
3990708
52955164
Returns: "correct"
304780
379709
46581
49655
Returns: "correct"
3383016
40221
346
24291
Returns: "correct"
3989
0
235819
385483
Returns: "incorrect"
916560
20357974
577
19
Returns: "correct"
87
2
43787
5581861
Returns: "incorrect"
2
14
7
368
Returns: "incorrect"
1776112
9900238
853703
4
Returns: "correct"
40
54984225
15585482
55846
Returns: "unknown"
31054619
984740
7480
8310258
Returns: "correct"
0
52
1
10224
Returns: "incorrect"
6
4579
703
31948
Returns: "incorrect"
2598462
33
130229
657
Returns: "correct"
1392131
13238476
2
6699986
Returns: "correct"
1
216
93724
1783
Returns: "incorrect"
11
280252
26897538
419212
Returns: "incorrect"
5003
7522
2043
1
Returns: "correct"
98
2287
70330243
2829
Returns: "incorrect"
15389830
1205
1718
9302
Returns: "correct"
25126
2
46
22854
Returns: "correct"
259
4
182
114382
Returns: "unknown"
23404
922
1918307
864
Returns: "incorrect"
4
280
376792
33779967
Returns: "incorrect"
1
3948
37
55565
Returns: "incorrect"
1
415
1
14856
Returns: "incorrect"
6984477
4948705
235
1225
Returns: "correct"
3680048
2770
271
0
Returns: "correct"
181243
11
2
7599
Returns: "correct"
7561
164516
14
125839
Returns: "correct"
165
2
194372
42162297
Returns: "incorrect"
2
9
41109
415296
Returns: "incorrect"
240731
129508
274443
20
Returns: "unknown"
82850349
12
516071
13258
Returns: "correct"
7780
358341
0
8088
Returns: "correct"
29754
895
105105
27088480
Returns: "incorrect"
3590
1
15
2463
Returns: "correct"
40778320
139971
1720
1357890
Returns: "correct"
0
217
17
30612309
Returns: "incorrect"
26983
12
930
1282486
Returns: "unknown"
43
383000
1563839
13777
Returns: "incorrect"
5
190710
107530
740238
Returns: "incorrect"
25138065
1803
21963
2267
Returns: "correct"
27092
75320
152
11
Returns: "correct"
227
82005619
219
7
Returns: "correct"
1484
384
141119
11869171
Returns: "incorrect"
484
13844616
10304874
10
Returns: "unknown"
792
6
34
12927680
Returns: "unknown"
375945
63
18921
2143
Returns: "correct"
681472
7
368
11572765
Returns: "unknown"
2
758654
77237
120492
Returns: "unknown"
417
1267
3
11663
Returns: "unknown"
100000000
100000000
100000000
100000000
Returns: "incorrect"
99999999
0
0
100000000
Returns: "unknown"
100000000
0
0
100000000
Returns: "correct"
100000000
0
0
0
Returns: "correct"
100000000
0
0
1
Returns: "correct"
0
100000000
99999999
0
Returns: "unknown"
5
0
4
100
Returns: "unknown"
1
3
10
2
Returns: "incorrect"
1
1
1
2
Returns: "incorrect"
1
3
2
1
Returns: "unknown"
4
0
0
3
Returns: "correct"
10
1
1
9
Returns: "correct"
2
2
2
1
Returns: "correct"