时间限制: 1.0 秒
空间限制: 512 MB
题目描述
Bob 喜欢一维坐标,现在,在一根数轴上有 2 (2≤n≤106) 个点,第 i 个点的坐标为 xi。
他想要给每个点分配一个非负实数 ri (ri≥0),可以理解为以第 i 个点为中心的“半径”。这些半径需要满足:
- 对于 ∀ i∈[1,n),有 xi+ri≤xi+1−ri+1。
Bob 希望最大化 i=1∑nri 的值(即所有圆盘半径之和最大),请你来帮他计算。
输入格式
从标准输入读入数据。
第一行,输入一个数 n。
第二行,输入 n 个数,第 i 个数表示第 i 个点的坐标 xi。
数据保证 2≤n≤106,且 0≤x1≤x2≤⋯≤xn≤109。
输出格式
输出到标准输出。
输出 i=1∑nri 的最大值。可以证明,最大值一定是一个整数。
3
0 2 5
5
4
0 1 3 6
4
子任务
对于所有数据,保证 2≤n≤106,且 0≤x1≤x2≤⋯xn≤109。
本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。
| 子任务编号 |
分值 |
n≤ |
xn≤ |
| 1 |
10 |
3 |
109 |
| 2 |
20 |
10 |
| 3 |
10 |
100 |
1000 |
| 4 |
1000 |
10000 |
| 5 |
20 |
106 |
107 |
| 6 |
30 |
109 |