#ABC269G. 可翻转卡牌 2

可翻转卡牌 2

可翻转卡牌 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,...,M,解决以下问题。

NN 张卡牌排列成正面朝上。你可以选择其中任意数量(00NN 张,含端点)的卡牌并翻转。

为了使可见数字之和等于 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 时的答案。

样例

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

数据范围

  • 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
  • 输入中的所有值均为整数。
难度 省选/NOI-
通过率
尝试 0
已通过 0
ID
2828
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签