题目描述
题面
在赛氪 OJ 的编程挑战里,Alice 和 Bob 分别操控着机器人的开关。Alice 会在第 A 秒按下开关让机器人移动,一直到第 B 秒才松开;Bob 则在第 C 秒按下开关,到第 D 秒松开。现在需要算出,在哪些秒数里,两人的开关处于同时按下的状态,也就是求 Alice 和 Bob 都按下开关的时间长度,快来帮他们解决这个问题吧!
输入描述
输入一行,包含四个正整数 A、B、C、D ,分别表示:
- Alice 在第 A 秒按下开关,第 B 秒释放开关
- Bob 在第 C 秒按下开关,第 D 秒释放开关
数据范围:输入的 A、B、C、D 均为正整数(实际场景中满足时间逻辑,比如 A < B 、C < D 等合理情况 ),无明确严格范围限制,但符合实际时间先后逻辑。
输入从标准输入获取,格式示例:
A B C D
输出描述
输出一个整数,表示 Alice 和 Bob 都按下开关的秒数总和。
样例输入 1
0 75 25 100
样例输出 1
50
样例解释 1
Alice 按下开关的时间区间是 [0, 75) (包含 0 秒,不包含 75 秒 ),Bob 按下开关的时间区间是 [25, 100) 。两者的共同时间区间是 [25, 75) ,时长为 75 - 25 = 50 秒,所以输出 50 。
样例输入 2
0 33 66 99
样例输出 2
0
样例解释 2
Alice 按下开关的区间是 [0, 33) ,Bob 是 [66, 99) ,两个区间没有重叠部分,所以共同按下的秒数是 0 ,输出 0 。
样例输入 3
10 90 20 80
样例输出 3
60
样例解释 3
Alice 按下开关的区间是 [10, 90) ,Bob 是 [20, 80) ,共同区间是 [20, 80) ,时长为 80 - 20 = 60 秒,所以输出 60 。
来源/分类
枚举