[语言月赛202304] 移植柳树
题目背景
HG 在上学的路上无聊的走着,看着这马路边的一排柳树,他的脑子里突然冒出了个奇怪的问题……
题目描述
假设总共有 n n n 棵柳树,每一棵间隔都为 x x x。
现在他需要对这些树做一些操作,使得在「这 n n n 棵树的起点不变」的同时,任意两棵树的间隔都为 y y y( y > x y > x y>x)。
他被允许做的操作如下;
- 移除树木:直接删除某个位置的树木。
- 移植树木:将一个位置的树木移到另一个位置上。
增加树木(凭空生成一棵树木)是不允许的。如果对「起点不变」这个概念有疑惑,可以参照「样例解释」中的图例。
显然操作是需要体力的,HG 想要让尽可能多的树维持原状。现在 HG 想知道,为了达成「任意两棵树的间隔都为 y y y」这个目标,他最多可以让多少棵树保持在原来的位置。
请你帮帮他吧!
输入格式
输入共一行三个整数 n , x , y n, x, y n,x,y,依次表示柳树的数量,未调整前每棵的间隔,想要达成的每棵的间隔。
输出格式
输出共一行一个整数,表示为了达成「任意两棵树的间隔都为 y y y」的目标,他最多可以让多少棵树保持在原来的位置。
样例 #1
样例输入 #1
8 2 3
样例输出 #1
3
提示
样例 1 解释
图中的方块代表树。第一行为调整前,第二行为调整后的情况。标出的三个绿色的方块是不需要移动的树,除此之外其他树都需要移动或者删除。
数据规模与约定
对于
10
%
10\%
10% 的数据,保证
n
≤
10
n \leq 10
n≤10,
x
=
1
x = 1
x=1,
y
=
2
y = 2
y=2。
对于
20
%
20\%
20% 的数据,保证
n
≤
1
0
3
n \leq 10^3
n≤103,且
y
y
y 是
x
x
x 的倍数。
对于
100
%
100\%
100% 的数据,保证
1
≤
n
≤
1
0
6
1 \leq n \leq 10^6
1≤n≤106,
1
≤
x
<
y
≤
1
0
6
1 \leq x < y \leq 10^6
1≤x<y≤106。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容