atcoder#ABC269G. [ABC269G] Reversible Cards 2

[ABC269G] Reversible Cards 2

配点 : 600600

問題文

11 から NN までの番号がついた NN 枚のカードがあります。 カード ii の表には整数 AiA_i, 裏には整数 BiB_i が書いてあります。 また、i=1N(Ai+Bi)=M\sum_{i=1}^N (A_i + B_i) = M です。 k=0,1,2,...,Mk=0,1,2,...,M について次の問題を解いてください。

NN 枚のカードがすべて表側が見える状態で並べられています。あなたは 00 枚以上 NN 枚以下のカードを選び、それらを裏返すことができます。 見えている数の和が kk になるには最小で何枚のカードを裏返す必要がありますか?枚数を出力してください。 ただし、どのようにカードを裏返しても見えている数の和が kk にならない場合は 1-1 を出力してください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0M2×1050 \leq M \leq 2 \times 10^5
  • 0Ai,BiM0 \leq A_i, B_i \leq M
  • i=1N(Ai+Bi)=M\sum_{i=1}^N (A_i + B_i) = M
  • 入力される値はすべて整数

入力

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

NN MM

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

ANA_N BNB_N

出力

M+1M+1 行出力せよ。ii 行目には k=i1k=i-1 のときの答えを出力せよ。

3 6
0 2
1 0
0 3
1
0
2
1
1
3
2

例えば k=0k=0 のときは、カード 22 のみを裏返せば見えている数の和を 0+0+0=00+0+0=0 にすることができて、これが最適です。 また、k=5k=5 のときは、すべてのカードを裏返せば見えている数の和を 2+0+3=52+0+3=5 にすることができて、これが最適です。

2 3
1 1
0 1
-1
0
1
-1
5 12
0 1
0 3
1 0
0 5
0 2
1
0
1
1
1
2
1
2
2
2
3
3
4