CF1257A.Two Rival Students
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are the gym teacher in the school.
There are n students in the row. And there are two rivalling students among them. The first one is in position a, the second in position b. Positions are numbered from 1 to n from left to right.
Since they are rivals, you want to maximize the distance between them. If students are in positions p and s respectively, then distance between them is ∣p−s∣.
You can do the following operation at most x times: choose two adjacent (neighbouring) students and swap them.
Calculate the maximum distance between two rivalling students after at most x swaps.
你是一名学校的体育老师。
一排共有 n 名学生,其中有两个互相敌对的学生。第一个学生位于位置 a,第二个学生位于位置 b。位置从左到右编号为 1 到 n。
由于他们互为对手,你希望最大化他们之间的距离。若两名学生分别位于位置 p 和 s,则他们之间的距离为 ∣p−s∣。
你最多可以执行 x 次如下操作:选择两名相邻(彼此紧挨着)的学生并交换他们的位置。
请计算在最多进行 x 次交换后,两名敌对学生之间可能达到的最大距离。
输入格式
The first line contains one integer t (1≤t≤100) — the number of test cases.
The only line of each test case contains four integers n, x, a and b (2≤n≤100, 0≤x≤100, 1≤a,b≤n, a=b) — the number of students in the row, the number of swaps which you can do, and positions of first and second rivaling students respectively.
第一行包含一个整数 t(1≤t≤100)—— 测试用例的数量。
每个测试用例仅有一行,包含四个整数 n、x、a 和 b(2≤n≤100,0≤x≤100,1≤a,b≤n,a=b)—— 分别表示队列中的学生人数、你可以执行的交换次数,以及两名相互竞争的学生的位置。
输出格式
For each test case print one integer — the maximum distance between two rivaling students which you can obtain.
对于每个测试用例,输出一个整数——你能得到的两名敌对学生的最大距离。
输入输出样例
输入#1
3 5 1 3 2 100 33 100 1 6 0 2 3
输出#1
2 99 1
说明/提示
In the first test case you can swap students in positions 3 and 4. And then the distance between the rivals is equal to ∣4−2∣=2.
In the second test case you don't have to swap students.
In the third test case you can't swap students.
在第一个测试用例中,你可以交换位置 3 和 4 上的学生。然后,对手之间的距离为 ∣4−2∣=2。
在第二个测试用例中,你无需交换学生。
在第三个测试用例中,你无法交换学生。
输入解题思路,AI测评打分。不知道怎么写?