7017: bucket

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

绝恋作为物理课代表,当然不只是会收发作业,他还总是帮老班解决问题。

一天,老班给他一个这样的问题:

有一个水桶,里面原来有一定量的水,然后我们把一些箱子扔到桶里。箱子全扔进去后,我们再在水桶顶部加一个平顶的盖子。这样,如果一些漂浮在水面上的箱子的顶部高于桶壁高度,它就会被再往水里压一点,上表面顶着盖子。

下图是一种可能的情况:


箱子全部扔进水桶后,桶里的水面高度是多少?

我们做如下约定:

·水的密度是1.0

·可以忽略空气的存在对整个过程的影响

·所有箱子都能完全放进水桶。也就是说,箱子的高不会大于水桶边缘高度

·水桶中任意两个箱子都不互相接触

但是这个问题实在很棘手,所以请你帮忙解决。


输入格式

第一行是三个实数,分别是桶底面积S0 < S <= 1000),水桶高度H0 < H <= 1000),以及水桶中原有水的体积V0 < V <= S * H)。第二行是一个正整数N0 < N <= 1000),为扔进水桶的箱子的数目。接下来N行,每行包含两个实数,描述了一个正方体箱子:箱子每一边的长度L0 < L <= 1000),以及箱子的密度D0 < D <= 10)

输出格式

输出一个实数,即箱子全扔进水桶后,水面的高度。结果保留7位小数。

输入样例 复制

10 100 500
1
1 0.5

输出样例 复制

50.0500000