洛谷P1007独木桥(暴力枚举)

题目描述:

说明提示:

思路:

本题的核心思想在于:两人相遇后,转身不计入时间,所以我们可以看作直接穿过去,那么一个人走下桥的时间有两种,一个是本身所在位置x,另一个是l+1-x,易知桥左侧的面向左边走更快,桥右侧的面向右边走更快

撤离独木桥的最小时间是所有人最小时间的最大时间

撤离独木桥的最大时间是所有人最大时间的最大时间

AC代码:

cpp 复制代码
#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;
}
相关推荐
panzer_maus6 分钟前
归并排序的简单介绍
java·数据结构·算法
獭.獭.6 分钟前
C++ -- STL【unordered_set和unordered_map的使用】
c++·stl·unordered_map·unordered_set
摆烂且佛系20 分钟前
B+树的“页分裂“机制
数据结构·b树
cici158741 小时前
二值化断裂裂缝的智能拼接算法
人工智能·算法·计算机视觉
麦格芬2301 小时前
LeetCode 763 划分字母区间
算法·leetcode·职场和发展
star _chen1 小时前
C++ std::move()详解:从小白到高手
开发语言·c++
福尔摩斯张1 小时前
C++核心特性精讲:从C语言痛点出发,掌握现代C++编程精髓(超详细)
java·linux·c语言·数据结构·c++·驱动开发·算法
charlie1145141912 小时前
如何快速在 VS2026 上使用 C++ 模块 — 完整上手指南
开发语言·c++·笔记·学习·现代c++
涛涛北京2 小时前
【强化学习实验】- 策略梯度算法
人工智能·算法
栀秋6662 小时前
深入浅出链表操作:从Dummy节点到快慢指针的实战精要
前端·javascript·算法