AT_keyence2019_c Exam and Wizard

题目描述

大学生高桥君需要参加 $N$ 场考试,并且必须全部通过。目前,第 $i$ 场考试的准备度为 $A_i$。此外,通过高桥君的细致调查,他得知要通过第 $i$ 场考试,准备度必须至少为 $B_i$。 高桥君担心这样下去可能无法通过所有考试,于是请求魔法使青木君帮忙,在不改变所有考试准备度总和的前提下,尽量少地修改考试的准备度,帮助他顺利通过考试。 请你代替高桥君,求出满足以下条件的数列 $C_1, C_2, ..., C_N$ 时,使得 $A_i$ 与 $C_i$ 不同的 $i$ 的最小个数。如果无法构造出这样的数列 $C_1, C_2, ..., C_N$,则输出 $-1$。 - 数列 $A_1, A_2, ..., A_N$ 的总和与数列 $C_1, C_2, ..., C_N$ 的总和相等。 - 对任意 $i$,都有 $B_i \leq C_i$。

输入格式

输入以以下格式从标准输入读入。 > $N$ $A_1$ $A_2$ ... $A_N$ $B_1$ $B_2$ ... $B_N$

输出格式

输出满足条件的数列 $C_1, C_2, ..., C_N$ 时,使得 $A_i$ 与 $C_i$ 不同的 $i$ 的最小个数。如果无法构造出这样的数列 $C_1, C_2, ..., C_N$,则输出 $-1$。

说明/提示

### 限制条件 - $1 \leq N \leq 10^5$ - $1 \leq A_i \leq 10^9$ - $1 \leq B_i \leq 10^9$ - $A_i, B_i$ 均为整数 ### 样例解释 1 $(A_1, A_2, A_3) = (2, 3, 5)$,$(B_1, B_2, B_3) = (3, 4, 1)$,此时第 $1$ 和第 $2$ 场考试无法通过。如下构造 $C_1, C_2, C_3$,可以使 $A_i$ 与 $C_i$ 不同的 $i$ 的最小个数为 $3$: - $(C_1, C_2, C_3) = (3, 5, 2)$ ### 样例解释 2 在这种情况下,即使什么都不做,也能通过所有考试。 ### 样例解释 3 在这种情况下,无论如何都无法通过所有考试。 由 ChatGPT 4.1 翻译