atcoder#ARC147E. [ARC147E] Examination

[ARC147E] Examination

配点 : 800800

問題文

1,2,,N1,2,\ldots,N の番号のついた NN 人の生徒が試験を受けました。人 i(1iN)i\,(1 \leq i \leq N) の点数は AiA_i でしたが、BiB_i 点以上取らないと留年です。そこで誰も留年しないように、ある 22 人の点数を入れ替える、という操作を任意の回数行うことにしました。

これが可能かを判定し、もし可能ならば一度も点数を入れ替えなかった人数の最大値を求めてください。

制約

  • 2N3×1052 \leq N \leq 3 \times 10^5
  • 1Ai,Bi109(1iN)1 \leq A_i,B_i \leq 10^9\,(1 \leq i \leq N)
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

ANA_N BNB_N

出力

誰も留年しないように操作を行うことが可能な場合、一度も点数を入れ替えなかった人数の最大値を出力せよ。

不可能な場合は -1 を出力せよ。

3
1 2
3 1
3 3
1

11 と人 22 の点数を入れ替えると、誰も留年しません。このとき、一度も点数を入れ替えなかった人は人 33 だけなので、11 を出力します。

2
100 1
100 1
2
6
3 2
1 6
4 5
1 3
5 5
9 8
-1
6
3 1
4 5
5 2
2 3
5 4
5 1
3