#L21608. 双重调度任务

    ID: L21608 传统题 2000ms 128MiB 尝试: 0 已通过: 0 普及− 上传者: 标签>M2M2第一学期M2-第16课最大公因数与最小公倍数分组与会合的总指挥GCD与LCM算法相关算法-最小公倍数算法-欧几里得算法课堂题

双重调度任务

双重调度任务

题目描述

给定 n 种奖品的数量和 m 个活动周期。把所有奖品平均装成尽可能多的完全相同礼包,不能有剩余;同时求各活动从时刻 0 同时发生后,下一次全部同时发生的时刻。

输入格式

第一行输入整数 n、m,满足 2≤n,m≤100。第二行输入 n 个正整数 a1,…,an,表示奖品数量;第三行输入 m 个正整数 p1,…,pm,表示周期。所有输入数值不超过 10^9,且全部周期的最小公倍数不超过 10^18。

输出格式

第一行输出最多礼包数 g,即所有奖品数量的最大公因数。第二行按输入顺序输出每包各类奖品数量 ai÷g。第三行输出所有活动的最小公倍数 P。

样例

输入

3 3
48 60 72
4 6 10

输出

12
4 5 6
60