COCI '13 Contest 3 #4 Kolinje

View as PDF

Submit solution


Points: 10 (partial)
Time limit: 1.0s
Memory limit: 32M

Problem types

Melita has just returned from the annual pig slaughter. Don't worry, this is a regular thing in Croatia. The best part was the abundance of food! There was everything, starting from good spicy sausages, ham, black pudding, up to teewurst, top quality bacon and čvarci, all with warm white bread and butter. After these appetizers, it was the perfect time to whip up a deep pot full of sarma (Melita ate twentyish of them) as well as a large platter of fine roast pork, so soft that it almost melts in your mouth. They watered all of this down with copious gulps of the best dry white wine that made them even hungrier.

Butcher Bajs kept his award-winning ham for the very end. N people attended the annual pig slaughter, labeled with numbers from 1 to N. These people already ate a lot of meat: the k^\text{th} person ate A[k] kilograms of meat so far. Bajs will distribute his ham to the people in the ratio B[1] : B[2] : \dots : B[N], exactly in that order, but he doesn't know the total amount (number of kilos) of ham which he will be distributing yet.

At the end of the slaughter, the Man of the Year will be declared. A ranking list is made according to the total kilos of meat eaten. Bajs impacts directly on this list by choosing the amount of ham to distribute. Although Bajs has been offered bribes many times, he refused each time, saying that he was an honest man who would not hurt a fly.

Bajs cares about order, because he's a nice gentleman, and wants to have the order of people in the exact form of 1, 2, \dots, N, respectively from the one who ate the most kilos of meat to those who ate less, allowing ties between participants. Help Bajs select the total amount of ham that he will distribute (in the ratio mentioned before) to achieve his intention.

Input Specification

The first line of input contains an integer N (2 \le N \le 1\,000), the number of competitors for the Man of the Year award.

Each of the following N lines contains integers A[k] and B[k], as mentioned in the text (0 \le A[k], B[k] \le 10^6). At least one of the numbers B[k] will not be equal to 0.

Output Specification

The first and only line of output must contain -1 if the required order cannot be achieved. Otherwise, output the required amount of ham in kilos, a real number (rounded up to 12 decimal places) between 0 and 10^7 (inclusive). If there are multiple possible solutions, output any.

Sample Input 1

3
7 1
3 2
10 0

Sample Output 1

10.5

Explanation for Sample Output 1

10.5 kilos of ham is distributed in the ratio 1 : 2 : 0, which gives us 3.5, 7 and 0 kilos of ham, respectively. If we add this to the already eaten amount of meat, we conclude that the participants ate 10.5, 10 and 10 kilos in total, which is a valid order.

Sample Input 2

3
2 1
4 0
0 3

Sample Output 2

-1

Sample Input 3

5
15 4
6 7
12 5
9 6
1 7

Sample Output 3

87

Comments


  • 3
    xiaowuc1  commented on July 11, 2021, 4:08 a.m.

    If your submission gets WA here but ACs on evaluator.hsin.hr, please report an issue and link your pertinent submission so the DMOJ staff can take a closer look. Do not hard-code the cases you fail on just to get AC.

    (The technical reason for this is that we can prove that there are test cases where correct answers take more than 12 decimal places to express properly, and we do not know how the output validator is implemented officially. Consequently, there may be disparities between the two sites that need to be manually resolved.)