A1236 | [COCI-2011_2012-contest5]#1 BLOKOVI
来源COCI
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
N rectangles with given masses (mi) and equal lengths (2) and heights (h) are arranged in a Cartesian plane such that:
rectangle edges are parallel to the coordinate axes;
the y-coordinates of lower horizontal edges are distinct and assume the following values: 0, h, 2h, 3h, …, (N - 1)h;
the lowest rectangle‟s lower left corner has coordinates (-2, 0), while the lower right corner coincides with the origin.
The X-centre of a rectangle is the x-coordinate of the midpoint of its lower edge.
The X-barycentre of one or more rectangles is the weighted average of their X-centres. It is computed as In other words, the mass of each rectangle is multiplied by its X-centre and the sum of these products is then divided by the total mass of the rectangles.
An arrangement is stable if, for each rectangle A:
the X-barycentre of rectangles above A has distance of at most 1 from the X-centre of A (i.e. is contained in the x-interval that covers A).
Intuitively, stability of an arrangement can be understood as the precondition for the arrangement to not fall apart. The arrangement in the figure on the left is unstable since the X-barycentre of the top two rectangles falls outside the rectangle underneath (the distance of the X-barycentre to the X-centre of the underlying rectangle is greater than 1). The arrangement in the figure on the right is stable.
Given the masses of all rectangles, find the largest (“rightmost”) possible x-coordinate of any rectangle corner in a stable arrangement. You are not allowed to change the order of rectangles (they are given from the lowest to the highest one).
rectangle edges are parallel to the coordinate axes;
the y-coordinates of lower horizontal edges are distinct and assume the following values: 0, h, 2h, 3h, …, (N - 1)h;
the lowest rectangle‟s lower left corner has coordinates (-2, 0), while the lower right corner coincides with the origin.
The X-centre of a rectangle is the x-coordinate of the midpoint of its lower edge.
The X-barycentre of one or more rectangles is the weighted average of their X-centres. It is computed as In other words, the mass of each rectangle is multiplied by its X-centre and the sum of these products is then divided by the total mass of the rectangles.
An arrangement is stable if, for each rectangle A:
the X-barycentre of rectangles above A has distance of at most 1 from the X-centre of A (i.e. is contained in the x-interval that covers A).
Intuitively, stability of an arrangement can be understood as the precondition for the arrangement to not fall apart. The arrangement in the figure on the left is unstable since the X-barycentre of the top two rectangles falls outside the rectangle underneath (the distance of the X-barycentre to the X-centre of the underlying rectangle is greater than 1). The arrangement in the figure on the right is stable.
Given the masses of all rectangles, find the largest (“rightmost”) possible x-coordinate of any rectangle corner in a stable arrangement. You are not allowed to change the order of rectangles (they are given from the lowest to the highest one).
输入格式
The first line of input contains the positive integer N (2 ≤ N ≤ 300 000), the number of rectangles.
Each of the next N lines contains a single positive integer less than 10 000, the mass of a rectangle. The masses are given in order from the lowest to the highest rectangle.
Each of the next N lines contains a single positive integer less than 10 000, the mass of a rectangle. The masses are given in order from the lowest to the highest rectangle.
输出格式
The first and only line of output must contain the required rightmost x-coordinate. The given result must be within
0.000001 of the official solution.
0.000001 of the official solution.
输入输出样例
输入 #1
2 1 1
输出 #1
1.000000
输入 #2
3 1 1 1
输出 #2
1.500000
输入 #3
3 1 1 9
输出 #3
1.900000
In test cases worth 30% of points, the rectangles will be ordered from the heaviest to the lightest one.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted