E.Mod | |||||
| |||||
Description | |||||
Kim刚刚学会C语言中的取模运算(mod)。他想要研究一下一个数字A模上一系列数后的结果是多少。帮他写个程序验证一下。 | |||||
Input | |||||
第一行一个整数T代表数据组数。 接下来T组数据,第一行一个整数n,接下来n个数字ai 接下来一行一个整数m,接下来m个数字bi。 | |||||
Output | |||||
对于每个bi,输出bi%a1%a2%...%an 。 | |||||
Sample Input | |||||
1 4 10 9 5 7 5 14 8 27 11 25 | |||||
Sample Output | |||||
4 3 2 1 0 | |||||
Hint | |||||
在C语言中,A mod B 是 a%b 样例解释: 14%10%9%5%7=4 8%10%9%5%7=3 ... 数据范围: 1<=n<=100000 1<=m<=100000 1<=ai<=1000000000 0<=bi<=1000000000 注意到不断取模下去会越来越小,而且一个数模a之后再模b,如果a比b小那么模b就没有意义了。所以对输入的a数组剔除所有没用的数,剩下一个递减的数组。在这个数组上,每次二分找到距离当前x最接近且大于x的数,模上这个数重复这一过程即可。这个过程不会重复很多次。很快这个数就会小于所有的a,这时就获得了答案。
|
Mod
最新推荐文章于 2023-07-02 23:12:13 发布