#aBC269G. [ABC269G] Reversible Cards 2

[ABC269G] Reversible Cards 2

AT_abc269_g [ABC269G] Reversible Cards 2

题目描述

NN 张编号为 11NN 的卡片。
卡片 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,\ldots,M,请解决以下问题:

NN 张卡片全部正面朝上排列。你可以选择 00 张到 NN 张卡片,将它们翻面。
使得可见数字之和为 kk,最少需要翻面多少张卡片?请输出所需的最小张数。
如果无论如何翻面都无法使可见数字之和为 kk,请输出 1-1

输入格式

输入以以下格式从标准输入给出。

NN MM A1A_1 B1B_1 A2A_2 B2B_2 \vdots ANA_N BNB_N

输出格式

请输出 M+1M+1 行。第 ii 行输出当 k=i1k=i-1 时的答案。

输入输出样例 #1

输入 #1

3 6
0 2
1 0
0 3

输出 #1

1
0
2
1
1
3
2

输入输出样例 #2

输入 #2

2 3
1 1
0 1

输出 #2

-1
0
1
-1

输入输出样例 #3

输入 #3

5 12
0 1
0 3
1 0
0 5
0 2

输出 #3

1
0
1
1
1
2
1
2
2
2
3
3
4

说明/提示

限制条件

  • 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
  • 所有输入值均为整数

样例解释 1

例如,当 k=0k=0 时,只需将第 22 张卡片翻面,就能使可见数字之和为 0+0+0=00+0+0=0,这是最优解。
又如,当 k=5k=5 时,将所有卡片翻面,可见数字之和为 2+0+3=52+0+3=5,这是最优解。

由 ChatGPT 4.1 翻译