Problem Statement
We must pay D dollars. Unfortunately, we only have bills of two denominations: p1 dollars and p2 dollars. So, we want to overpay as little as possible.
You will be given
Definition
- Class:
- AmountApproximation
- Method:
- approximate
- Parameters:
- int, int, int
- Returns:
- int
- Method signature:
- int approximate(int D, int p1, int p2)
- (be sure your method is public)
Constraints
- D will be between 1 and 1000000000 (109), inclusive.
- p1 will be between 1 and 1000000000 (109), inclusive.
- p2 will be between 1 and 1000000000 (109), inclusive.
Examples
17
7
9
Returns: 18
18 = 7 * 0 + 9 * 2
17
7
13
Returns: 20
20 = 7 * 1 + 13 * 1
21
7
13
Returns: 21
21 = 7 * 3 + 13 * 0
37
9
17
Returns: 43
43 = 9 * 1 + 17 * 2
287341
2345
7253
Returns: 287398
287398 = 2345 * 104 + 7253 * 6
1000000000
1
1
Returns: 1000000000
1000000000
1000000000
1
Returns: 1000000000
1000000000
1
1000000000
Returns: 1000000000
1000000000
1000000000
1000000000
Returns: 1000000000
1000000000
999999999
999999999
Returns: 1999999998
1
1000000000
999999999
Returns: 999999999
3
1000000000
1000000000
Returns: 1000000000
3
999999997
1000000000
Returns: 999999997
999999913
1
992999913
Returns: 999999913
999999913
3
992999913
Returns: 999999915
999999913
992999913
1
Returns: 999999913
999999913
992999913
3
Returns: 999999915
536343
288
1
Returns: 536343
26964
111209082
1291960
Returns: 1291960
810
1
20533140
Returns: 810
2920
123773
48048593
Returns: 123773
2167
302350
63751
Returns: 63751
951546
104795
6423
Returns: 951947
53635841
185343
157
Returns: 53635841
701317
592510
17742
Returns: 709680
1
1
1754
Returns: 1
208029086
1197
3
Returns: 208029087
3827059
3849166
30735
Returns: 3841875
386
810183478
42401940
Returns: 42401940
2699
4960290
28
Returns: 2716
1
318551
10
Returns: 10
15206
1072763
552914
Returns: 552914
875938
1806952
817
Returns: 876641
414989
3290136
885
Returns: 415065
313
2013799
38505
Returns: 38505
444393
79690
1010
Returns: 444400
566501015
300551970
2122343
Returns: 566665581
6
53
3559949
Returns: 53
53079295
635
252
Returns: 53079295
8
2
14
Returns: 8
164
37
1097119
Returns: 185
2658007
267491
3047
Returns: 2658096
31550
4
12659
Returns: 31550
28220
41272155
470945368
Returns: 41272155
842418187
37
438923
Returns: 842418187
9
137
519185
Returns: 137
900
17159
90
Returns: 900
29
15
16
Returns: 30
3913
3581
3
Returns: 3914
3897537
1625
257
Returns: 3897537
189290897
146170
176519597
Returns: 189382557
17432
1005
5235
Returns: 17505
8779251
22617
2570
Returns: 8779255
495230
14921
27708
Returns: 496627
223
85
3
Returns: 223
93
93
3
Returns: 93
1281
155
853
Returns: 1318
64169488
11055
791792
Returns: 64169570
136
57
4
Returns: 136
120
6
92
Returns: 120
17451
57
3
Returns: 17451
2260
1395
1907
Returns: 2790
1023
45
1
Returns: 1023
131827436
6
8
Returns: 131827436
31242
2
9605
Returns: 31242
152
14
2
Returns: 152
1
1
1
Returns: 1
17262688
3305956
4
Returns: 17262688
122
11
115
Returns: 126
137699588
1902247
3
Returns: 137699588
4819808
69684
3203483
Returns: 4875899
35
24
27
Returns: 48
1
1
1
Returns: 1
6079
2
4591
Returns: 6079
7
5
3
Returns: 8
7486775
4
42
Returns: 7486776
9
1
6
Returns: 9
1928
1131
1765
Returns: 2262
376402824
243997730
39372804
Returns: 393728040
109681
87002
16877
Returns: 118139
1359
796
1206
Returns: 1592
1153
866
923
Returns: 1732
2296
2009
709
Returns: 2718
102608
14107
13578
Returns: 108624
30
5
6
Returns: 30
3154
1615
3127
Returns: 3230
53917296
1660012
28216367
Returns: 54776559
1
1
1
Returns: 1
1
2
2
Returns: 2
1
2
1
Returns: 1
1
1
2
Returns: 1
1000000000
2
3
Returns: 1000000000
1000000000
2
4
Returns: 1000000000
999999999
2
4
Returns: 1000000000
999999999
2
3
Returns: 999999999
999999999
2
2
Returns: 1000000000
1000000000
2
2
Returns: 1000000000
999999998
2
4
Returns: 999999998
999999999
4
6
Returns: 1000000000
287341
2345
7253
Returns: 287398
999999991
2
2
Returns: 999999992
21
7
13
Returns: 21
666000000
800000000
7
Returns: 666000006
999999937
3
5
Returns: 999999937
1000000000
3
7
Returns: 1000000000
999900007
3
17
Returns: 999900007
1000000000
1
1
Returns: 1000000000
1000000000
3
5
Returns: 1000000000
1000000000
1
2
Returns: 1000000000
1000000000
3
9
Returns: 1000000002
287341
332345
237253
Returns: 332345
999999999
2
4
Returns: 1000000000
999999999
2
2
Returns: 1000000000
999999999
6
7
Returns: 999999999
1000000000
3
3
Returns: 1000000002
1000000000
4
3
Returns: 1000000000
990000012
883212354
999999943
Returns: 999999943
100000000
5
3
Returns: 100000000
1000000000
6
9
Returns: 1000000002
100
1
101
Returns: 100
1000000000
7
11
Returns: 1000000000
999999997
3
5
Returns: 999999997
1000000000
10
30
Returns: 1000000000
1000000000
7
13
Returns: 1000000000
1000000000
11
7
Returns: 1000000000
1000000000
399
799
Returns: 1000000000
999999997
37
29
Returns: 999999997
100000007
2
3
Returns: 100000007
999999937
99991
899981
Returns: 1000009991
11
5
3
Returns: 11
8
3
7
Returns: 9
33
2
17
Returns: 33
999999937
2
5
Returns: 999999937
999999999
4
2
Returns: 1000000000
999999995
2
3
Returns: 999999995
1000000000
7
7
Returns: 1000000001
1000000000
999999999
1000000000
Returns: 1000000000
36
7
5
Returns: 36