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 翻译