🐷大肚肚
CF-18B普及+/提高

平台

2.0s💾 64MB

📋 题目描述

在数轴上有 nn 个区间,编号从 11nn ,第 kk 个区间的左端点坐标为 (k1)m(k-1)m ,右端点的坐标为 (k1)m+l(k-1)m+l ,其中 l<ml\lt m ,青蛙从原点( 坐标为 00 )开始在数轴上跳跃,每次跳跃向右移动 dd 个单位,如果青蛙落在给定的区间上,它会继续跳跃,如果没有落在给定的区间上,它将会停留在该点无法跳动了。

📥 输入格式

仅有一行包含四个整数 n,d,m,ln,d,m,l1n,d,m,l1061\le n,d,m,l\le 10^6l<ml\lt m ),分别表示区间数量,青蛙每次跳跃的长度,以及找到 kk 个区间所需要的参数 mmll 的数值。

📤 输出格式

仅有一个数,表示青蛙离开所给区间,最后停留的位置点的坐标。

📝 样例 1

输入
2 2 5 3
输出
4

📝 样例 2

输入
5 4 11 8
输出
20

📚 来源

💡 题目讲解

1

理解题意

在数轴上有 nn 个"平台"(区间),青蛙从原点出发,每次向右跳 dd 个单位。

平台长什么样?

kk 个平台(kk11nn):

  • 左端点在 (k1)×m(k-1) \times m
  • 右端点在 (k1)×m+l(k-1) \times m + l

因为 l<ml \lt m,所以平台之间有缝隙——青蛙可能掉下去!

平台1 缝隙 平台2 缝隙 平台3 平台n 0 l m m+l 🐸 青蛙 每次跳 d

青蛙怎么跳?

  1. 从原点 00 出发
  2. 每次向右跳 dd 个单位
  3. 落在任意一个平台上 → 继续跳!
  4. 落在缝隙里(或是超过了最后一个平台)→ 停下来,结束

🎯 我们要算:青蛙最后停在哪个坐标?

1 / 5