AT_agc063_c [AGC063C] Add Mod Operations
题目描述
给定两个非负整数序列 $A = (A_1, \ldots, A_N)$ 和 $B = (B_1, \ldots, B_N)$。
请判断是否可以通过进行 $0$ 次到 $N$ 次以下的如下操作,将 $A$ 变为 $B$。
- 操作:选择满足 $0 \leq x < y \leq 10^{18}$ 的整数 $x, y$。对于所有 $i$,将 $A_i$ 替换为 $(A_i + x) \bmod y$。
如果可以将 $A$ 变为 $B$,请输出一种操作方案。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $\ldots$ $A_N$ $B_1$ $\ldots$ $B_N$
输出格式
如果无法通过 $0$ 次到 $N$ 次以下的操作将 $A$ 变为 $B$,请输出:
```
No
```
如果可以,请输出操作方案,格式如下:
> Yes $K$ $x_1$ $y_1$
> $\vdots$
> $x_K$ $y_K$
其中 $K$ 表示操作次数,$x_i, y_i$ 表示第 $i$ 次操作选择的整数 $x, y$,需满足:
- $0 \leq K \leq N$
- $0 \leq x_i < y_i \leq 10^{18}$
如果存在多种满足条件的操作方案,输出任意一种均可。
说明/提示
### 限制条件
- $1 \leq N \leq 1000$
- $0 \leq A_i \leq 10^9$
- $0 \leq B_i \leq 10^9$
### 样例说明 1
可以如下将 $A$ 变为 $B$:
- 初始 $A = (7, 2, 4, 5)$。
- 进行操作 $(x, y) = (3, 5)$ 后,$A = (0, 0, 2, 3)$。
- 进行操作 $(x, y) = (3, 6)$ 后,$A = (3, 3, 5, 0)$。
由 ChatGPT 4.1 翻译