I've got WA, Why?
Code: Select all
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in), 1024 * 1024);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
// String line;
Scanner scanner = new Scanner(reader);
try {
while (scanner.hasNextInt()) {
int front = scanner.nextInt();
if (front == 0) {
break;
}
int rear = scanner.nextInt();
int[] frontTeeths = new int[front];
int[] rearTeeths = new int[rear];
for (int i = 0; i < frontTeeths.length; i++) {
frontTeeths[i] = scanner.nextInt();
}
for (int i = 0; i < rearTeeths.length; i++) {
rearTeeths[i] = scanner.nextInt();
}
PriorityQueue<Double> d = new PriorityQueue<Double>();
for (int frontTeeth : frontTeeths) {
for (int rearTeeth : rearTeeths) {
d.add((double) rearTeeth / frontTeeth);
}
}
PriorityQueue<Double> result = new PriorityQueue<Double>(100, new Comparator<Double>() {
public int compare(Double o1, Double o2) {
return o2.compareTo(o1);
}
});
double diff = 0;
double D1 = 0, D2 = 0;
Double d1 = d.poll();
Double d2;
while (d.size() > 0) {
d2 = d.poll();
double newDiff = d2 - d1;
if (newDiff > diff) {
D1 = d1;
D2 = d2;
diff = newDiff;
}
d1 = d2;
}
writer.write(String.format("%.2f", (D2 / D1)));
writer.write("\n");
}
writer.flush();
} catch (IOException e) {
}
}
}