CFCF2170C.Quotient and Remainder
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个整数数组 q1,q2,…,qn 和 r1,r2,…,rn,以及一个整数 k。
你可以进行如下操作任意次数(可以为零):
- 选择两个整数 x 和 y,满足:
- 1≤y<x≤k;
- 存在下标 i,使得 qi=⌊yx⌋(向下取整);
- 存在下标 j,使得 rj=xmody。
- 从数组 q 中移除 qi,从数组 r 中移除 rj。如果 q 或 r 中存在多个相同的元素,仅移除一个即可。
计算在给定的数组 q 和 r 上你最多可以进行多少次这样的操作。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤2×105,2≤k≤1018),即数组 q 和 r 的长度,以及 x 和 y 的上界。
第二行包含 n 个整数 q1,q2,…,qn(1≤qi≤109),即数组 q。
第三行包含 n 个整数 r1,r2,…,rn(1≤ri≤109),即数组 r。
输入的额外约束:所有测试用例中 n 的总和不超过 2×105。
输出格式
对于每个测试用例,输出一个整数,表示最多可以进行多少次操作。
输入输出样例
输入#1
3 1 100 1 27 3 10 5 6 5 7 1 7 5 42 5 4 2 2 1 9 8 9 8 100
输出#1
1 0 3
说明/提示
在第一个测试用例中,可以进行一次操作:选择 x=69 和 y=42,此时 ⌊4269⌋=1=q1 且 69mod42=27=r1。
在第二个测试用例中,无法进行任何操作,因为找不到合适的 x 和 y。
在第三个测试用例中,可以进行三次操作:
- x=42,y=17:⌊1742⌋=2=q3 且 42mod17=8=r2。
- x=41,y=16:⌊1641⌋=2=q4 且 41mod16=9=r1。
- x=20,y=12:⌊1220⌋=1=q5 且 20mod12=8=r4。
此后,q=[5,4],r=[9,100],无法再进行操作。