[语言月赛 202307] 塔台超频 题解
Maxmilite
·
·
题解
Source & Knowledge
2023 年 7 月语言月赛,由洛谷网校入门计划/基础计划提供。
题目大意
## 题目分析
由于信号是依次传递,因此我们只需要考虑**相邻两座塔台**的通讯情况即可。
我们设第 $i$ 座塔台和第 $i + 1$ 座塔台之间的距离 $d _ i = a _ {i + 1} - a _ i$。如果 $d _ i \leq b _ i$,那么无需施加电压,信号也可从第 $i$ 座塔台顺利传输到第 $i + 1$ 座塔台;反之,在此处需要施加的最小电压则为 $k _ i = d _ i - b _ i$。
由于题目要求所有塔台施加的电压一致,因此我们的答案即为所有塔台的 $k _ i$ 的最大值。
因此,读入数据后,我们需要从头枚举计算 $d _ i$,并与 $b _ i$ 作比较,进行上述取最大值的计算。最终输出得到的最大值即可。
核心代码:
```cpp
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> a[i] >> b[i];
}
int k = 0;
for (int i = 1; i <= n - 1; ++i) {
int d = a[i + 1] - a[i];
if (b[i] >= d) continue;
k = max(k, d - b[i]);
}
cout << k << endl;
```
## 视频讲解
