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