import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static class Fuit {
String fuit;
int weight;
int value;
int unitValue;
public Fuit(String fuit, int weight, int value) {
this.fuit = fuit;
this.weight = weight;
this.value = value;
this.unitValue = value / weight;
}
}
public static void dictSort(Fuit[] fuitArr) {
Arrays.sort(fuitArr, new Comparator<Fuit>() {
public int compare(Fuit f1, Fuit f2) {
return f2.unitValue - f1.unitValue;
}
});
}
public static int bag(int m, Fuit[] fuitArr, int n) {
int[] array = new int[n];
int s = 0;
dictSort(fuitArr);
for (int a = 0; a < n; a++) {
if (fuitArr[a].weight <= m) {
array[a] = 1;
m -= fuitArr[a].weight;
s += fuitArr[a].value;
} else {
s += fuitArr[a].unitValue * m;
break;
}
}
return s;
}
public static void main(String[] args) {
Fuit[] fuitArr = {
new Fuit("苹果", 15, 300),
new Fuit("香蕉", 18, 180),
new Fuit("橘子", 10, 150),
new Fuit("猕猴桃", 9, 270)
};
System.out.println(bag(20, fuitArr, 4));
}
}