#AT1890. F - Max Sum Counting
F - Max Sum Counting
F - 最大和计数
分数:500分
问题描述
给定两个长度为$N$的整数序列:$A = (A_1, \dots, A_N)$ 和 $B = (B_1, \dots, B_N)$。找到满足以下条件的非空子集$S$的数量:
- $\max_{i \in S} A_i \geq \sum_{i \in S} B_i$。
由于计数可能非常大,输出结果需对$998244353$取模。
约束
- $1 \leq N \leq 5000$
- $1 \leq A_i,B_i \leq 5000$
- 输入数据均为整数。
输入
从标准输入读入数据,数据格式如下:
输出
输出满足问题描述中条件的子集$S$的数量,结果要对$998244353$取模。
2
3 1
1 2
2
$\{1,2,\ldots,N\}$有三个子集:$\{1\}$,$\{2\}$,和$\{1,2\}$。
- 对于$S=\{1\}$,我们有$\max_{i \in S} A_i=3$和$\sum_{i \in S} B_i=1$。
- 对于$S=\{2\}$,我们有$\max_{i \in S} A_i=1$和$\sum_{i \in S} B_i=2$。
- 对于$S=\{1,2\}$,我们有$\max_{i \in S} A_i=3$和$\sum_{i \in S} B_i=3$。
因此,满足条件$\max_{i \in S} A_i \geq \sum_{i \in S} B_i$的子集有两个:$\{1\}$和$\{1,2\}$。
2
1 1
2 2
0
可能不存在满足条件的子集。
20
1937 3980 2689 1208 3640 1979 581 2271 4229 3948 3708 1522 4161 4661 3797 96 3388 3395 2920 2247
4485 2580 174 1156 3770 3396 3558 3500 3494 479 269 3383 1230 1711 3545 3919 134 475 3796 1017
476