spoj#DONUT. Cybercrime Donut Investigation
Cybercrime Donut Investigation
Year 2042. The Internet has evolved to a virtual reality dataspace where crimes are committed every day. The 2041 SWERC winner developed an agent that drops a donut every time a crime is committed in the Cyberspace. Each of the donuts has its own signature. The Madrid Police have a huge database with crimes and their donut signatures.
Today is your day. Your task is to implement a new agent that looks for the records in the database that bear a strong resemblance to the given signature of a dropped donut found at a new crime scene.
Figure 1: The major piece of evidence for today’s unsolved crime streak
Experts in virtual criminology have obtained the best similarity measure between donuts: compute the difference in radius of the internal part of the toroids (holes), compute the difference in radius of the external part of the toroids (tubes), and then add up those differences.
Input
The first line of each test case contains n (1 ≤ n ≤ 50,000), the number of donuts in the database. The ith of the following n lines contains the radius of the hole and radius of the tube of the ith donut in the database, described by two integers l and w (1 ≤ l, w ≤ 109). After that there is a line containing q (1 ≤ q ≤ 10,000), the number of donuts that you are looking for in the database. Then q lines follow, the ith of them describing the dimensions of the newly found ith donut in the same way.
Different test cases are separated by a blank line. A line containing −1 marks the end of the input.
Output
The output of your program on each test case should have q lines, each of them containing an integer. The ith of these lines should contain the similarity between the newly found ith donut and the donut in the database that most closely resembles it. Outputs for different test cases should be separated by a blank line.
Sample Input
2 2 3 3 4 2 1 1 3 4</p>2 1 1 9 9 4 4 5 6 5 2 5 3 4
-1
Sample Output
3 0</p>7 7 5 5
Problemsetter: Abel Molina Prieto