Baltic OI '03 P1 - Barrel

View as PDF

Submit solution


Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Problem types
Baltic Olympiad in Informatics: 2003 Day 1, Problem 1

Some amount of water is poured into a barrel, then a number of cubes of different size and density are put into water. Finally, a lid is put onto the barrel and pushed down until it touches the edges of the barrel.

Barrel

Write a program to compute the resulting water level in the barrel.

It can be assumed that:

  • the density of water is 1.0,
  • the influence of air can be neglected,
  • the cubes fit completely into the barrel,
  • the cubes do not rotate and do not touch each other.

Input Specification

The first line contains three real numbers - the bottom area of the barrel S (0 < S \le 1\,000), the height of the barrel H (0 < H \le 1\,000), and the volume of the water V (0 < V \le S \cdot H). The next line contains the number of cubes N (0 < N \le 1\,000). It is followed by N lines, each containing two real numbers describing the cube - the length of a side of the cube L (0 < L \le 1\,000), and the density of the cube D (0 < D \le 10).

Output Specification

The first and only line of the output must contain one real number - the resulting water level. The output must not differ from the correct value by more than 10^{-4}.

Sample Input

100 10 500
1
1 0.5

Sample Output

5.0050

Comments

There are no comments at the moment.