class Solution {
public static void main
(String[] args
){ System.
out.
println(budgetShopping
(50,
int [] [20,
1],
int [] [12,
2]));
}
static int budgetShopping(int n, int[] bundleQuantities, int[] bundleCosts) {
if ( n <= 0
|| bundleCosts == null || bundleQuantities == null
|| bundleCosts.length == 0 || bundleQuantities.length == 0
|| bundleCosts.length != bundleQuantities.length
) {
return 0;
}
final int[] max = {0};
calculateRecursive(n, bundleCosts, bundleQuantities, max, 0, 0);
return max[0];
}
static void calculateRecursive(int n, int[] cost, int[] quantity, int[] max, int position, int count) {
if (n == 0 || position == cost.length) {
if (count>max[0]) {
max[0] = count;
}
return;
}
for (int i = 0; i <= n/cost[position]; i++) {
calculateRecursive(n - i * cost[position], cost, quantity, max, position + 1, count + i * quantity[position]);
}
}
}
CmNsYXNzIFNvbHV0aW9uIHsKCQoJCnB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpewoJU3lzdGVtLm91dC5wcmludGxuKGJ1ZGdldFNob3BwaW5nKDUwLCBpbnQgW10gWzIwLDFdLCBpbnQgW10gWzEyLDJdKSk7CgkKfQoKCiAgICAJc3RhdGljIGludCBidWRnZXRTaG9wcGluZyhpbnQgbiwgaW50W10gYnVuZGxlUXVhbnRpdGllcywgaW50W10gYnVuZGxlQ29zdHMpIHsKCiAgICAJCWlmICggICAgbiA8PSAwCiAgICAJCQkJfHwgYnVuZGxlQ29zdHMgPT0gbnVsbCB8fCBidW5kbGVRdWFudGl0aWVzID09IG51bGwKICAgIAkJCQl8fCBidW5kbGVDb3N0cy5sZW5ndGggPT0gMCB8fCBidW5kbGVRdWFudGl0aWVzLmxlbmd0aCA9PSAwCiAgICAJCQkJfHwgYnVuZGxlQ29zdHMubGVuZ3RoICE9IGJ1bmRsZVF1YW50aXRpZXMubGVuZ3RoCiAgICAJCQkJKSB7CgkgICAgICAgIAlyZXR1cm4gMDsKCSAgICAgICAgfQoKCSAgICAgICAgZmluYWwgaW50W10gbWF4ID0gezB9OwoKCSAgICAgICAgY2FsY3VsYXRlUmVjdXJzaXZlKG4sIGJ1bmRsZUNvc3RzLCBidW5kbGVRdWFudGl0aWVzLCBtYXgsIDAsIDApOwoKCSAgICAgICAgcmV0dXJuIG1heFswXTsKCSAgICB9CgogICAgCXN0YXRpYyB2b2lkIGNhbGN1bGF0ZVJlY3Vyc2l2ZShpbnQgbiwgaW50W10gY29zdCwgaW50W10gcXVhbnRpdHksIGludFtdIG1heCwgaW50IHBvc2l0aW9uLCBpbnQgY291bnQpIHsKCSAgICAgICAgaWYgKG4gPT0gMCB8fCBwb3NpdGlvbiA9PSBjb3N0Lmxlbmd0aCkgewogICAgICAgICAgICAgICAgaWYgKGNvdW50Pm1heFswXSkgewogICAgICAgICAgICAgICAgICAgIG1heFswXSA9IGNvdW50OwogICAgICAgICAgICAgICAgfQoJICAgICAgICAgICAgcmV0dXJuOwoJICAgICAgICB9CgkgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IG4vY29zdFtwb3NpdGlvbl07IGkrKykgewoJICAgICAgICAgICAgY2FsY3VsYXRlUmVjdXJzaXZlKG4gLSBpICogY29zdFtwb3NpdGlvbl0sIGNvc3QsIHF1YW50aXR5LCBtYXgsIHBvc2l0aW9uICsgMSwgY291bnQgKyBpICogcXVhbnRpdHlbcG9zaXRpb25dKTsKCSAgICAgICAgfQoJICAgIH0KCn0=
Main.java:6: error: ']' expected
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: ')' expected
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: ';' expected
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: ']' expected
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: not a statement
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: illegal start of expression
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: ';' expected
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: illegal start of expression
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: ';' expected
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
Main.java:6: error: illegal start of expression
System.out.println(budgetShopping(50, int [] [20,1], int [] [12,2]));
^
10 errors