欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1257A.Two Rival Students
Two Rival Students
You are the gym teacher in the school.
There are students in the row. And there are two rivalling students among them. The first one is in position , the second in position . Positions are numbered from to from left to right.
Since they are rivals, you want to maximize the distance between them. If students are in positions and respectively, then distance between them is .
You can do the following operation at most times: choose two adjacent (neighbouring) students and swap them.
Calculate the maximum distance between two rivalling students after at most swaps.
Input
The first line contains one integer () — the number of test cases.
The only line of each test case contains four integers , , and (, , , ) — the number of students in the row, the number of swaps which you can do, and positions of first and second rivaling students respectively.
Output
For each test case print one integer — the maximum distance between two rivaling students which you can obtain.
Note
In the first test case you can swap students in positions and . And then the distance between the rivals is equal to .
In the second test case you don't have to swap students.
In the third test case you can't swap students.
Samples
3
5 1 3 2
100 33 100 1
6 0 2 3
2
99
1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |