AT_abc216_f [ABC216F] Max Sum Counting
题目描述
给定长度为 N 的数列 A=(A1,…,AN) 和 B=(B1,…,BN)。请计算满足下述条件的 {1,2,…,N} 的非空子集 S 的个数:
- maxi∈SAi≥∑i∈SBi
由于答案可能非常大,请输出其对 998244353 取模的结果。
输入格式
输入通过标准输入以以下格式给出。
N A1 A2 … AN B1 B2 … BN
输出格式
请输出满足题目条件的 S 的个数对 998244353 取模的结果。
输入输出样例 #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
说明/提示
限制条件
- 1≤N≤5000
- 1≤Ai,Bi≤5000
- 输入均为整数
样例解释 1
{1,2,…,N} 的非空子集有 {1}、{2}、{1,2} 共 3 种。
- 当 S={1} 时,maxi∈SAi=3,∑i∈SBi=1
- 当 S={2} 时,maxi∈SAi=1,∑i∈SBi=2
- 当 S={1,2} 时,maxi∈SAi=3,∑i∈SBi=3
因此,满足题目条件,即 maxi∈SAi≥∑i∈SBi 的 S 有 {1} 和 {1,2} 共 2 种。
样例解释 2
也可能不存在满足条件的 S。
由 ChatGPT 4.1 翻译