题目描述:
说明提示:
思路:
本题的核心思想在于:两人相遇后,转身不计入时间,所以我们可以看作直接穿过去,那么一个人走下桥的时间有两种,一个是本身所在位置x,另一个是l+1-x,易知桥左侧的面向左边走更快,桥右侧的面向右边走更快
撤离独木桥的最小时间是所有人最小时间的最大时间
撤离独木桥的最大时间是所有人最大时间的最大时间
AC代码:
#include <iostream>
#include <algorithm>
using namespace std;
int l, n;
int x;
int maxx, minn;
int main() {
cin >> l >> n;
for (int i = 0; i < n; i++) {
cin >> x;
if (x > l / 2) {
minn = max(minn, l + 1 - x);
maxx = max(maxx, x);
}
else {
minn = max(minn, x);
maxx = max(maxx, l + 1 - x);
}
}
cout << minn << ' ' << maxx << endl;
}