Problem Statement
The idols Ami and Mami like playing games.
Today they bought a new game.
At the beginning of the game a single slime appears on the screen.
You are given an
The game consists of K turns. In each turn of the game the player must choose a single slime and cut it into two smaller parts. More precisely, suppose that the player chose a slime of size z. When cutting this slime, the player must choose two positive integers x and y such that x+y = z. The player will then cut the slime into two smaller slimes. The sizes of those smaller slimes will be x and y, respectively. Note that the player must always choose a slime of size 2 or more, as it is not possible to cut a slime of size 1.
The player gets a reward for making each cut: whenever you cut a slime of size x+y into slimes of sizes x and y, the player is awarded x*y mascots.
Ami and Mami have just started a new game.
You are given two
Definition
- Class:
- SubdividedSlimes
- Method:
- needCut
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int needCut(int S, int M)
- (be sure your method is public)
Constraints
- S will be between 2 and 1000, inclusive.
- M will be between 1 and 10^9, inclusive.
Examples
3
2
Returns: 1
There is a single slime of size 3, and the players have to get at least two mascots. In this case, K = 1 is sufficient. In the only step, cut the only slime into two slimes with sizes 1 and 2. (This gives them 1*2 = 2 mascots.)
3
3
Returns: 2
There is a single slime of size 3, and the players have to get at least three mascots. They can get three mascots in two steps: In the first step, cut the only slime into two slimes with sizes 1 and 2. (This gives them 1*2 = 2 mascots.) In the second step, choose the slime of size 2 and cut it into two slimes of size 1 each. (This gives them 1*1 = 1 mascot.) The total number of mascots they obtained is 2 + 1 = 3.
3
4
Returns: -1
There is a single slime of size 3. The players cannot get 4 mascots in any way.
765
271828
Returns: 14
2
1
Returns: 1
2
2
Returns: -1
2
4
Returns: -1
2
1000000000
Returns: -1
5
11
Returns: -1
5
10
Returns: 4
5
9
Returns: 3
5
8
Returns: 2
5
7
Returns: 2
5
6
Returns: 1
5
5
Returns: 1
5
4
Returns: 1
5
3
Returns: 1
5
2
Returns: 1
5
1
Returns: 1
1000
1
Returns: 1
1000
999
Returns: 1
1000
1000
Returns: 1
1000
250000
Returns: 1
1000
250001
Returns: 2
1000
333333
Returns: 2
1000
333334
Returns: 3
1000
416666
Returns: 5
1000
416667
Returns: 6
1000
431241
Returns: 7
1000
490000
Returns: 49
1000
490001
Returns: 50
1000
490002
Returns: 50
1000
499015
Returns: 514
1000
499498
Returns: 997
1000
499499
Returns: 998
1000
499500
Returns: 999
1000
499501
Returns: -1
1000
1000000000
Returns: -1
118
6808
Returns: 46
118
6809
Returns: 47
383
73058
Returns: 287
383
73059
Returns: 288
870
377550
Returns: 424
870
377551
Returns: 425
546
148572
Returns: 332
546
148573
Returns: 333
340
57563
Returns: 272
340
57564
Returns: 273
305
44185
Returns: 19
305
44186
Returns: 20
719
258079
Returns: 676
719
258080
Returns: 677
116
6618
Returns: 63
116
6619
Returns: 64
890
395335
Returns: 619
890
395336
Returns: 620
772
297250
Returns: 415
772
297251
Returns: 416
151
11307
Returns: 132
151
11308
Returns: 133
82
3163
Returns: 16
82
3164
Returns: 17
557
154682
Returns: 392
557
154683
Returns: 393
848
350560
Returns: 39
848
350561
Returns: 40
348
59643
Returns: 66
348
59644
Returns: 67
772
297518
Returns: 683
772
297519
Returns: 684
626
195495
Returns: 495
626
195496
Returns: 496
491
119800
Returns: 162
491
119801
Returns: 163
170
14346
Returns: 150
170
14347
Returns: 151
161
12877
Returns: 157
161
12878
Returns: 158
661
217928
Returns: 458
661
217929
Returns: 459
281
36847
Returns: 14
281
36848
Returns: 15
624
194212
Returns: 459
624
194213
Returns: 460
582
141135
Returns: 5
582
141136
Returns: 6
158
14613
Returns: -1
338
15269
Returns: 1
109
8714
Returns: -1
273
10398
Returns: 1
353
2567
Returns: 1
24
329
Returns: -1
756
23117
Returns: 1
116
8666
Returns: -1
341
25484
Returns: 1
110
2029
Returns: 1
26
339
Returns: -1
659
122
Returns: 1
238
19249
Returns: 3
984
20990
Returns: 1
613
27915
Returns: 1
804
5499
Returns: 1
21
155
Returns: 3
563
4555
Returns: 1
536
31144
Returns: 1
350
21152
Returns: 1
576
13201
Returns: 1
365
16079
Returns: 1
240
16732
Returns: 2
728
26863
Returns: 1
657
12127
Returns: 1
77
2131
Returns: 3
742
149134
Returns: 2
310
32004
Returns: 2
898
214488
Returns: 2
608
116376
Returns: 2
347
39759
Returns: 2
166
12330
Returns: 9
600
119097
Returns: 2
492
82060
Returns: 3
399
69761
Returns: 8
491
88195
Returns: 3
488
83417
Returns: 3
275
24493
Returns: 2
109
2995
Returns: 2
404
54519
Returns: 3
98
4358
Returns: 10
380
38332
Returns: 2
291
28305
Returns: 3
73
1716
Returns: 2
957
245518
Returns: 2
400
58829
Returns: 3
463
68943
Returns: 2
970
266687
Returns: 2
897
220235
Returns: 2
646
122042
Returns: 2
20
133
Returns: 2
6
12
Returns: 2
100
3300
Returns: 2
8
21
Returns: 2
1000
489999
Returns: 49
1000
495964
Returns: 123
9
27
Returns: 2
12
48
Returns: 2
24
192
Returns: 2
10
33
Returns: 2
11
40
Returns: 2
12
47
Returns: 2
24
240
Returns: 5
90
2600
Returns: 2
10
32
Returns: 2
100
3126
Returns: 2
1000
400000
Returns: 4
32
321
Returns: 2
1000
491221
Returns: 56
100
3149
Returns: 2
21
147
Returns: 2
100
3325
Returns: 2
527
130696
Returns: 16
200
13125
Returns: 2
10
40
Returns: 4
20
171
Returns: 6
21
145
Returns: 2
765
195075
Returns: 2
1000
477777
Returns: 22
302
30401
Returns: 2
400
50197
Returns: 2
1000
499001
Returns: 500
1000
499300
Returns: 799
1000
499449
Returns: 948
10
41
Returns: 5
530
90200
Returns: 2
35
501
Returns: 5
1000
499400
Returns: 899
21
215
Returns: -1
1000
499359
Returns: 858
1000
470000
Returns: 16
99
3267
Returns: 2
25
250
Returns: 4
100
4000
Returns: 4
999
332667
Returns: 2