题目描述
一年一度的小军训来咯!某班共 $n$ 名同学正在树荫下坐成一排休息,位置从左到右分别编号为 $1,2,\cdots,n$,你坐在第 $p$ 个位置。
班主任发现这群小宝贝们都快被太阳晒成干了,于是赶忙去买了 $m$ 个单位的水,让你给大家分发下去。而你,作为这个班的班长,却在想着如何能让自己分到更多的水!(太坏啦!)
因为大家正坐成一排,我们假设每个人只能看到自己以及**与自己相邻**的同学分到了多少个单位的水。只要相邻的同学之间分配到的水的差值不超过 $d$ 个单位,大家是不会抱怨班长分配不均的。
已知每位同学至少应当分配到 $1$ 个单位的水,请问在大家都不会抱怨分配不均的前提下,你最多能够分给自己多少个单位的水?
输入格式
第一行包含一个正整数 $T$,表示数据组数。
每组数据占一行,包含四个正整数 $n,m,d,p$,分别表示班级总人数、水的总量、最大允许的相邻差值以及你的位置。
- $1 \le T \le 10^5$
- $1 \le p \le n \le m \le 10^9$
- $1 \le d \le 10^6$
输出格式
对于每组数据,在一行内输出一个整数,表示你最多能够分给自己多少个单位的水。
样例输入 #1
7
3 3 1 1
3 4 1 1
3 5 1 1
3 6 1 1
3 6 1 2
3 7 1 2
3 5 2 2
来源
2023-05 多校联合训练 ZJNU站 正式赛