三科满分
题目背景
在学习基地里,乐柠兔负责整理噜噜的“满分日历”。噜噜有点奇怪:他在三门课上拿到满分的节奏各不相同——
- 语文:每 25 天会出现一次“满分日”
- 数学:每 29 天会出现一次“满分日”
- 英语:每 37 天会出现一次“满分日”
由于三门课的周期长度不同,“三科同日满分”并不常见。乐柠兔想知道:从某一天之后开始,下一次“三科同日满分”还要等多久。
题目描述
从当年第一天开始计数,把这一天记为第 0 天。
已知四个整数 c、m、s、d:
- c:语文出现满分的某一天编号(不要求是第一次出现满分的那天)
- m:数学出现满分的某一天编号
- s:英语出现满分的某一天编号
- d:你观察的“当前日子”编号
之后的规律如下:
- 语文满分会出现在所有满足:
天数 ≡ c (mod 25)的日子; - 数学满分会出现在所有满足:
天数 ≡ m (mod 29)的日子; - 英语满分会出现在所有满足:
天数 ≡ s (mod 37)的日子。
你的任务是找到一个 严格大于 d 的最小天数 t,使得这一天三门课都恰好是“满分日”,并输出 t − d。
特别注意:不允许把 d 当天算作答案,必须从 d 的下一天开始找。
输入格式
输入一行,包含四个整数 c, m, s, d,相邻整数之间以一个空格分隔。
输出格式
输出一个整数,表示从第 d 天之后到下一次“三科同日满分”的等待天数,即 t − d。
样例
样例输入
5 6 7 8
样例输出
10322
数据范围与约定
对于 100% 的数据,保证:
- 所求的答案 t − d 满足:
| 子任务编号 | 分值 | N 上限(所有输入的最大值) |
|---|---|---|
| 1 | 20 | 30 |
| 2 | 30 | 100 |
| 3 | 365 | |
| 4 | 20 |
相关
在下列比赛中:
京公网安备11010802045784号