#XMOJ11356. 偷工减料的行家
偷工减料的行家
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:skimp.in 输出文件:skimp.out
你经营着一家建筑公司,受委托负责喜间市建市 $N$ 周年纪念纪念碑的设计审核与施工工作。
该纪念碑的结构为:将纵向 $100$ cm、横向 $L$ cm、高度 $1$ cm 的长方体钢材,以水平基座为基础,将钢材的横向朝向南北方向,沿竖直方向堆叠 $N$ 层形成塔状。其中,从下往上数第 $i$ 层($2 \leq i \leq N$)的钢材,以最底层钢材的位置为基准,向北偏移 $X_i$ cm(若 $X_i$ 为负数,则向南偏移 $|X_i|$ cm)。
为防止纪念碑倒塌,必须对每两层钢材之间进行焊接。但受技术限制,两层钢材的接触面积必须不少于 $100$ cm² 才能完成焊接。若不满足该要求,需告知委托方设计存在缺陷。
若设计无问题,你需要对 $N-1$ 个钢材接触面进行焊接(最底层钢材已固定在基座上,无需与基座焊接)。
不过,你是偷工减料的行家,发现了一个规律:
对于每个 $i\ (1 \leq i \leq N-1)$,若从下往上数第 $i$ 层钢材上方所有钢材的整体重心所对应的竖直线,严格穿过第 $i$ 层和第 $i+1$ 层钢材的内部(不触碰边缘),则这两层之间无需焊接也不会立即倒塌;
若竖直线恰好经过其中至少一层钢材的表面(边缘),则必须焊接,否则结构会不稳定并随时可能倒塌。
请计算:为确保纪念碑不会立即倒塌,你至少需要焊接多少处?
补充说明:
- 钢材视为密度均匀的刚体(不会变形),焊接不会改变钢材的形状、质量、密度分布;
- 焊接后的钢材视为一个整体刚体(不会分离)。
输入格式
第一行一个整数 $N$。
第二行一个整数 $L$。
接下来 $N-1$ 行,第 $i$ 行一个整数 $X_{i+1}$。
输出格式
输出需要焊接的位置数量;若设计存在缺陷(接触面积不足),输出 $-1$。
样例
样例 1
1
6
0
样例说明:
(右侧为北,■代表钢材,□代表空白)
■■■■■■
说明:根本没有需要焊接的位置。
样例 2
4
2
-1
0
1
3
样例说明:
钢材分布示意:
□□■■ (第4层)
□■■□ (第3层)
■■□□ (第2层)
□■■□ (第1层)
说明:$3$ 个接触面都需要焊接。
样例 3
2
4
4
-1
样例说明:
钢材分布示意:
□□□□■■■■ (第2层)
■■■■□□□□ (第1层)
说明:设计存在缺陷(无接触面积)。
样例 4
3
5
-3
-1
0
样例说明:
钢材分布示意:
□□■■■■■□ (第3层)
■■■■■□□□ (第2层)
□□□■■■■■ (第1层)
说明:偷工减料的机会!无需焊接任何位置。
数据范围
对于 5% 的数据,$N=1$。
对于 10% 的数据,$N \le 2$。
对于 40% 的数据,$N \le 10$。
对于 60% 的数据,$N \le 1000$。
对于 70% 的数据,$N \le 10000$。
对于 100% 的数据,$1 \leq N \leq 10^5$,$1 \leq L \leq 10^4$,$|X_i| \leq 5 \times 10^3$($2 \leq i \leq N$)。
提示
本题需要用到的物理学知识:
由于每层钢材形状、大小、密度完全一样,所以每层质量相同。 一堆质量相同的物体叠在一起,整体重心 = 它们坐标的平均值。
相关
在下列比赛中: