P6894 [ICPC 2014 WF] Crane Balancing

题目描述

无论在哪里进行大规模的建筑施工,你都会看到起重机在进行吊装。人们很少会想到起重机是多么奇妙的工程范例:一个(相对)重量较轻的结构可以举起更重的负载。但即使是建造得最好的起重机也可能对它们能举起的重量有一个限制。 起重机制造商协会(ACM)需要一个程序来计算起重机可以举起的重量范围。由于起重机是对称的,ACM 工程师决定只考虑每个起重机的截面,可以视为一个位于 $x$ 轴上的多边形。 ![](https://cdn.luogu.com.cn/upload/image_hosting/2lyejm47.png) 图 1:起重机截面 图 1 显示了第一个样例输入中起重机的截面。假设每 $1 \times 1$ 单位的起重机截面重 1 千克,所要举起的重量将附着在多边形的一个顶点(图 1 中箭头所示)。编写一个程序来确定起重机不会向左或向右倾覆的重量范围。

输入格式

输入由一个单一的测试用例组成。测试用例以一个整数 $n$ 开始($3 \le n \le 100$),表示用于描述起重机形状的多边形的顶点数。接下来的 $n$ 对整数 $x_i, y_i$ ($-2,000 \le x_i \le 2,000, 0 \le y_i \le 2,000$) 是多边形顶点的坐标,按顺序给出。重量附着在第一个多边形顶点上,且至少有两个多边形顶点位于 $x$ 轴上。

输出格式

显示可以附加到起重机而不会使其倾覆的重量范围(以千克为单位)。如果范围是 $[a,b]$,则显示 $\lfloor a \rfloor\texttt{ .. }\lceil b \rceil$。例如,如果范围是 $[1.5,13.3]$,则显示 $\texttt{1 .. 14}$。如果范围是 $[a,\infty)$,则显示 $\lfloor a \rfloor\texttt{ .. inf}$。如果起重机无法承载任何重量,则显示 `unstable`。

说明/提示

时间限制:1000 毫秒,内存限制:1048576 KB。 国际大学生程序设计竞赛(ACM-ICPC)世界总决赛 2014。 题面翻译由 ChatGPT-4o 提供。