#aBC216F. [ABC216F] Max Sum Counting

[ABC216F] Max Sum Counting

AT_abc216_f [ABC216F] Max Sum Counting

题目描述

给定长度为 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 取模的结果。

输入输出样例 #1

输入 #1

2
3 1
1 2

输出 #1

2

输入输出样例 #2

输入 #2

2
1 1
2 2

输出 #2

0

输入输出样例 #3

输入 #3

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

输出 #3

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 种。

样例解释 2

也可能不存在满足条件的 SS

由 ChatGPT 4.1 翻译