A16730 | Quotient and Remainder
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
给定两个整数数组 $q_1, q_2, \dots, q_n$ 和 $r_1, r_2, \dots, r_n$,以及一个整数 $k$。
你可以进行如下操作任意次数(可以为零):
1. 选择两个整数 $x$ 和 $y$,满足:
- $1 \le y < x \le k$;
- 存在下标 $i$,使得 $q_i = \left\lfloor \frac{x}{y} \right\rfloor$(向下取整);
- 存在下标 $j$,使得 $r_j = x \bmod y$。
2. 从数组 $q$ 中移除 $q_i$,从数组 $r$ 中移除 $r_j$。如果 $q$ 或 $r$ 中存在多个相同的元素,仅移除一个即可。
计算在给定的数组 $q$ 和 $r$ 上你最多可以进行多少次这样的操作。
你可以进行如下操作任意次数(可以为零):
1. 选择两个整数 $x$ 和 $y$,满足:
- $1 \le y < x \le k$;
- 存在下标 $i$,使得 $q_i = \left\lfloor \frac{x}{y} \right\rfloor$(向下取整);
- 存在下标 $j$,使得 $r_j = x \bmod y$。
2. 从数组 $q$ 中移除 $q_i$,从数组 $r$ 中移除 $r_j$。如果 $q$ 或 $r$ 中存在多个相同的元素,仅移除一个即可。
计算在给定的数组 $q$ 和 $r$ 上你最多可以进行多少次这样的操作。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($1 \le n \le 2 \times 10^5$,$2 \le k \le 10^{18}$),即数组 $q$ 和 $r$ 的长度,以及 $x$ 和 $y$ 的上界。
第二行包含 $n$ 个整数 $q_1, q_2, \dots, q_n$($1 \le q_i \le 10^9$),即数组 $q$。
第三行包含 $n$ 个整数 $r_1, r_2, \dots, r_n$($1 \le r_i \le 10^9$),即数组 $r$。
输入的额外约束:所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($1 \le n \le 2 \times 10^5$,$2 \le k \le 10^{18}$),即数组 $q$ 和 $r$ 的长度,以及 $x$ 和 $y$ 的上界。
第二行包含 $n$ 个整数 $q_1, q_2, \dots, q_n$($1 \le q_i \le 10^9$),即数组 $q$。
第三行包含 $n$ 个整数 $r_1, r_2, \dots, r_n$($1 \le r_i \le 10^9$),即数组 $r$。
输入的额外约束:所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示最多可以进行多少次操作。
输入输出样例
输入 #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$,此时 $\left\lfloor \frac{69}{42} \right\rfloor = 1 = q_1$ 且 $69 \bmod 42 = 27 = r_1$。
在第二个测试用例中,无法进行任何操作,因为找不到合适的 $x$ 和 $y$。
在第三个测试用例中,可以进行三次操作:
1. $x=42$,$y=17$:$\left\lfloor \frac{42}{17} \right\rfloor=2=q_3$ 且 $42 \bmod 17=8=r_2$。
2. $x=41$,$y=16$:$\left\lfloor \frac{41}{16} \right\rfloor=2=q_4$ 且 $41 \bmod 16=9=r_1$。
3. $x=20$,$y=12$:$\left\lfloor \frac{20}{12} \right\rfloor=1=q_5$ 且 $20 \bmod 12=8=r_4$。
此后,$q=[5,4]$,$r=[9,100]$,无法再进行操作。
在第二个测试用例中,无法进行任何操作,因为找不到合适的 $x$ 和 $y$。
在第三个测试用例中,可以进行三次操作:
1. $x=42$,$y=17$:$\left\lfloor \frac{42}{17} \right\rfloor=2=q_3$ 且 $42 \bmod 17=8=r_2$。
2. $x=41$,$y=16$:$\left\lfloor \frac{41}{16} \right\rfloor=2=q_4$ 且 $41 \bmod 16=9=r_1$。
3. $x=20$,$y=12$:$\left\lfloor \frac{20}{12} \right\rfloor=1=q_5$ 且 $20 \bmod 12=8=r_4$。
此后,$q=[5,4]$,$r=[9,100]$,无法再进行操作。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?