找回密码
 立即注册
首页 业界区 安全 Educational Codeforces Round 76 部分题解

Educational Codeforces Round 76 部分题解

谧怏弦 2026-2-5 12:45:00
A. Two Rival Students

题意:

一排有 \(n\) 个学生,两个竞争对手分别在位置 \(a\) 和 \(b\)。每次操作可以交换相邻两个学生,最多进行 \(x\) 次操作。求操作后两个竞争对手之间可能的最大距离(即 \(|p-s|\))。

思路:

初始距离为 \(d = |a-b|\)。每次交换可以让一个学生向远离对方的方向移动一步,从而增加 \(1\) 距离。最多可以增加 \(x\) 距离,但最大距离不超过 \(n-1\)(即一个在左端,一个在右端)。因此答案为 \(\min(d + x, n-1)\)。
代码

点击查看代码[code]void solve() {        int n, x, a, b;        cin >> n >> x >> a >> b;        int d = abs(a - b);        int ans = min(d + x, n - 1);        cout  3\) 不可达。\(x = 3\):最大只能得到 \(3\),故 \(y > 3\) 不可达。
\(x \ge 4\):总可通过操作1和操作2增长到任意大的数,再通过操作2减到 \(y\),故可达。
</ul></ul>代码

点击查看代码[code]void solve() {    int x, y;    cin >> x >> y;    if (x >= y) {        cout

相关推荐

2026-2-6 10:58:01

举报

2026-2-8 04:02:28

举报

2026-2-10 11:58:31

举报

2026-2-10 17:37:02

举报

2026-2-11 16:05:27

举报

2026-2-24 04:18:23

举报

您需要登录后才可以回帖 登录 | 立即注册