AT_arc147_e [ARC147E] Examination

题目描述

有 $N$ 名学生,编号为 $1,2,\ldots,N$,他们参加了一场考试。第 $i$ 个学生的分数为 $A_i$,但如果分数未达到 $B_i$,则会留级。为了避免任何人留级,你可以进行任意次数的操作,每次操作可以交换任意两个人的分数。 请判断是否有可能通过若干次操作使得没有人留级。如果可能,请求出在所有操作中从未交换过分数的学生人数的最大值。

输入格式

输入通过标准输入给出,格式如下: > $N$ $A_1$ $B_1$ $A_2$ $B_2$ $\vdots$ $A_N$ $B_N$

输出格式

如果可以通过操作使得没有人留级,输出在所有操作中从未交换过分数的学生人数的最大值。 如果无法做到,则输出 $-1$。

说明/提示

## 限制条件 - $2 \leq N \leq 3 \times 10^5$ - $1 \leq A_i, B_i \leq 10^9\ (1 \leq i \leq N)$ - 所有输入均为整数 ## 样例解释 1 将第 $1$ 个人和第 $2$ 个人的分数交换后,没有人会留级。这时,只有第 $3$ 个人的分数未被交换,因此输出 $1$。 由 ChatGPT 4.1 翻译