SZ#G6KP11. 【GESP强化 六级】最大值与和的计数

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11555 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 普及 上传者: 标签>GESPGESP强化C++c++编程题背包问题0/1背包排序计数3星

题目描述

给定长度为 NN 的数列 A=(A1,,AN)A = (A_1, \dots, A_N)B=(B1,,BN)B = (B_1, \dots, B_N)。请计算满足下述条件的 {1,2,,N}\{1,2,\ldots,N\} 的非空子集 SS 的个数:

  • maxiSAiiSBi\max_{i \in S} A_i \geq \sum_{i \in S} B_i

由于答案可能非常大,请输出其对 998244353998244353 取模的结果。

输入格式

输入通过标准输入以以下格式给出。

NN A1A_1 A2A_2 \ldots ANA_N B1B_1 B2B_2 \ldots BNB_N

输出格式

请输出满足题目条件的 SS 的个数对 998244353998244353 取模的结果。

2
3 1
1 2
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

说明/提示

限制条件

  • 1N50001 \leq N \leq 5000
  • 1Ai,Bi50001 \leq A_i, B_i \leq 5000
  • 输入均为整数

样例解释 1

{1,2,,N}\{1,2,\ldots,N\} 的非空子集有 {1}\{1\}{2}\{2\}{1,2}\{1,2\}33 种。

  • S={1}S=\{1\} 时,maxiSAi=3\max_{i \in S} A_i=3iSBi=1\sum_{i \in S} B_i=1
  • S={2}S=\{2\} 时,maxiSAi=1\max_{i \in S} A_i=1iSBi=2\sum_{i \in S} B_i=2
  • S={1,2}S=\{1,2\} 时,maxiSAi=3\max_{i \in S} A_i=3iSBi=3\sum_{i \in S} B_i=3

因此,满足题目条件,即 maxiSAiiSBi\max_{i \in S} A_i \geq \sum_{i \in S} B_iSS{1}\{1\}{1,2}\{1,2\}22 种。