CFCF2145F.Long Journey
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一条从左到右编号为 0 到 m 的条形区域。你控制一个芯片,起始时位于 0 号格子。
每个格子中都有陷阱,陷阱根据如下规则激活:
- 在第 1,(1+n),(1+2n),… 次移动结束时,编号为 x,且满足 xmoda1=b1 的格子的陷阱会被激活;
- 在第 2,(2+n),(2+2n),… 次移动结束时,编号为 x,且满足 xmoda2=b2 的格子的陷阱会被激活;
- ⋯
- 在第 n,(n+n),(n+2n),… 次移动结束时,编号为 x,且满足 xmodan=bn 的格子的陷阱会被激活。
每一回合,你可以选择从当前格子移动到下一个格子,或者停留在当前位置。随后,本回合对应激活规则的陷阱会被激活。如果在某一回合开始时,芯片正位于将要被激活的陷阱的格子上,游戏立即结束。
你的任务是计算,从 0 号格子到达 m 号格子的最少回合数,或者判断是否无解。如果芯片恰好在到达 m 号格子的同一回合结束时,m 号格子的陷阱被激活,那么这不是一个有效的到达 m 的方式。
输入格式
第一行为一个整数 t(1≤t≤100),表示测试用例数量。
每个测试用例的第一行为两个整数 n 和 m(1≤n≤10,1≤m≤1012)。
第二行为 n 个整数 a1,a2,…,an(2≤ai≤10)。
第三行为 n 个整数 b1,b2,…,bn(0≤bi<ai)。
输出格式
对于每个测试用例,输出一个整数,表示到达 m 号格子的最少回合数。如果无法到达,输出 −1。
输入输出样例
输入#1
5 2 5 2 2 0 1 2 5 2 2 1 0 1 7 3 2 4 212398151713 3 2 5 2 0 1 3 0 2 4 3 4 0 0
输出#1
5 6 -1 424796303424 5