[信息与未来 2015] 买木头
题目描述
有 n n n 个木材供应商,每个供应商有长度相同的一定数量的木头。长木头可以锯短,但短木头不能接长。有一个客人要求 m m m 根长度相同的木头,要求计算出:此时供货商提供的木头满足客人要求的最大长度是多少。
例如 n = 2 , m = 30 n=2,m=30 n=2,m=30,两个供货商的木头为:
- 12 , 10 12,10 12,10(第 1 1 1 个供货商的木头长度为 12 12 12,共有 10 10 10 根);
- 5 , 10 5,10 5,10(第 2 2 2 个供货商的木头长度为 5 5 5,共有 10 10 10 根)。
计算的结果为 5 5 5,即长度为 12 12 12 的木头一根可锯出两根长度为 5 5 5 的木头,多余的无用;长度为 5 5 5 的木头不动,此时,可以得到 30 30 30 根长度为 5 5 5 的木头。
输入格式
一行四个整数
n
,
m
,
l
1
,
s
1
n,m,l_1,s_1
n,m,l1,s1。其中
l
1
l_1
l1 是第一个供货商木头的长度,
s
1
s_1
s1 是第一个供货商木头的数量。其他供货商木头
的长度和数量
l
i
l_i
li 和
s
i
(
i
≥
2
)
s_i(i\ge2)
si(i≥2)由下面的公式给出:
- l i = ( ( l i − 1 × 37011 + 10193 ) m o d 10000 ) + 1 l_i=((l_{i-1}\times37011+10193) \bmod 10000)+1 li=((li−1×37011+10193)mod10000)+1;
- s i = ( ( s i − 1 × 73011 + 24793 ) m o d 100 ) + 1 s_i=((s_{i-1}\times73011+24793) \bmod 100)+1 si=((si−1×73011+24793)mod100)+1。
输出格式
一个整数,即满足要求的 m m m 根长度相同的木头的最大长度。
样例 #1
样例输入 #1
10 10000 8 20
样例输出 #1
201
提示
1 ≤ n ≤ 1 0 4 , 1 ≤ m ≤ 1 0 6 , 1 ≤ l 1 ≤ 1 0 4 , 1 ≤ s 1 ≤ 100 1\le n\le10^4,1\le m\le10^6,1\le l_1\le10^4, 1\le s_1\le100 1≤n≤104,1≤m≤106,1≤l1≤104,1≤s1≤100。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容