#YHDF1561. 买木头
买木头
问题描述
有 个木材供应商,每个供货商有长度相同一定数量的木头。长木头可以锯短,但短木头不能接长。有一个客人要求 根长度相同的木头。要求计算出,此时供货商提供的木头满足客人要求的最长的长度是多少。 例如 ,两个供货商的木头为 第 个供货商的木头长度为 ,共有 根; 第 个供货商的木头长度为 ,共有 根。 计算的结果为 ,即长度为 的木头一根可锯出两根长度为 的木头,多余的无用,长度为 的木头不动,此时可得到 根长度为 的木头。
输入格式
整数 () 其中 是第一个供货商木头的长, 是第一个供货商木头数量。其他供货商木头的长度和数量 和 (),由下面的公式给出:
输出格式
一个整数,即满足要求的 根长度相同的木头的最大长度。 本题测试数据保证一定有解。
数据范围
来源 2015江苏省青少年信息学奥林匹克竞赛复赛
样例
输入
10 10000 8 20
输出
201
#include <bits/stdc++.h>
using namespace std;
long long L[10010], S[10010];
int n, m;
int main() {
cin >> n >> m >> L[1] >> S[1];
for (int i = 2; i <= n; ++i) {
L[i] = (L[i-1] * 37011 + 10193) % 10000 + 1;
S[i] = (S[i-1] * 73011 + 24793) % 100 + 1;
}
return 0;
}