rendered paste bodyimport java.util.ArrayDeque;
import java.util.Deque;
public class Foo {
private final static double[] nums =
{
40.58,
49.50,
51.50,
71.90,
76.80,
85.00,
94.90,
95.40,
105.40,
116.95,
131.50,
144.40,
149.11,
155.39,
168.15,
175.50,
234.20,
269.76,
280.19,
643.00,
};
private final static double result = 1084.83;
private static Deque<Integer> numbers=new ArrayDeque<>();
public static void main(String[] args) {
double value=result;
int i=nums.length-1;
while(true){
value=value-nums[i];
if(value<-0.005){
value=value+nums[i];
}else if(value<0.005){
numbers.push(i);
break;
}else{
numbers.push(i);
}
i--;
while(i<0){
i=numbers.pop();
value=value+nums[i];
i--;
}
}
System.out.println("Solution:");
for(int number: numbers){
System.out.println(nums[number]);
}
}
}