题目描述
有 n 个木材供应商,每个供货商有长度相同、数量一定的木头。长木头可以锯成短木头,但短木头不能接长。现在有一个客人需要 m 根长度相同的木头。请你计算,在不超过供货商所供木头总量的前提下,满足客人要求的最长的相同木头长度。
例如 n=2,m=30,两个供货商的木头信息为:
- 第 1 个供货商的木头长度为 12,共有 10 根;
- 第 2 个供货商的木头长度为 5,共有 10 根。
计算的结果为 5:长度为 12 的木头一根可锯出两根长度为 5 的木头(多余部分无用),长度为 5 的木头保持不动,此时总共可得到 30 根长度为 5 的木头,恰好满足客人需求。
输入格式
第一行包含四个整数 n,m,l1,s1,其中 l1 是第一个供货商木头的长度,s1 是第一个供货商木头的数量。
对于 i≥2,供货商的木头长度 li 和数量 si 由以下公式递推得到:
$$l_i = ((l_{i-1} \times 37011 + 10193) \bmod 10000) + 1$$$$s_i = ((s_{i-1} \times 73011 + 24793) \bmod 100) + 1$$
输出格式
一个整数,表示能满足客人所需的 m 根相同木头的最长长度。
样例
10 10000 8 20
201
数据范围
- 1≤n≤10000
- 1≤m≤1000000
- 1≤l1≤10000
- 1≤s1≤100