AT_arc133_c [ARC133C] Row Column Sums

题目描述

有一个由 $H$ 行 $W$ 列组成的格子。 すぬけくん打算在每个格子里填写一个 $0$ 到 $K-1$ 之间的整数。需要满足以下条件: - 对于每个 $1 \leq i \leq H$,第 $i$ 行所有格子中填写的整数之和除以 $K$ 的余数为 $A_i$。 - 对于每个 $1 \leq i \leq W$,第 $i$ 列所有格子中填写的整数之和除以 $K$ 的余数为 $B_i$。 请判断是否存在一种填写方式满足上述条件。如果存在,请求出所有格子中填写的整数之和的最大可能值。

输入格式

输入通过标准输入给出,格式如下: > $H$ $W$ $K$ $A_1$ $A_2$ $\cdots$ $A_H$ $B_1$ $B_2$ $\cdots$ $B_W$

输出格式

如果不存在满足条件的填写方式,输出 `-1`。如果存在,输出所有格子中填写的整数之和的最大可能值。

说明/提示

## 限制 - $1 \leq H, W \leq 200000$ - $2 \leq K \leq 200000$ - $0 \leq A_i \leq K-1$ - $0 \leq B_i \leq K-1$ - 输入的所有数均为整数 ## 样例解释 1 可以如下填写: ``` ----------------- | 2 | 0 | 2 | 2 | ----------------- | 2 | 2 | 0 | 1 | ----------------- ``` 这种填写方式满足条件。例如,第 $1$ 行填写的整数之和为 $6$,用 $K(=3)$ 除后余数为 $A_1(=0)$。这种填写方式下所有整数之和为 $11$,这是可能的最大值。 由 ChatGPT 4.1 翻译