C. 放置物品

    传统题 1000ms 256MiB

放置物品

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小 Z 现在有 nn 个物品,编号为 1,2,…,n1,2,\dots,n,重量为 a1,a2,…,ana_1,a_2,\dots,a_n。小 Z 又有 nn 个背包,背包编号为 1,2,…,n1,2,\dots,n,每个背包的重量限制为 b1,b2,…,bnb_1,b_2,\dots,b_n,其中 bi=jb_i=j 表示一个重量不超过 jj 的物品可以放到 ii 号背包。

  • 例如:b3=12b_3=12,表示一个重量不超过 1212 的物品可以放到 33 号背包。

问小 Z 有多少种不同的方式安排他的物品,使得每个物品均放在不同的背包里,并且使得每个物品的重量限制均得到满足?

输入格式

输入的第一行包含 nn。

第二行包含 nn 个空格分隔的整数 a1,a2,…,ana_1,a_2,…,a_n。

第三行包含 nn 个空格分隔的整数 b1,b2,…,bnb_1,b_2,…,b_n。

输出格式

输出满足题目要求的方案数。

样例 #1

样例输入 #1

4
1 2 3 4
2 4 3 4

样例输出 #1

8

提示

【样例解释】

在这个例子中,我们不能将第三个物品安排到第一个背包里,因为 3=a3>b1=23=a_3>b_1=2。类似地,我们不能将第四个物品放到第一或第三个背包里。一种符合重量限制的安排方式为将物品 11 放到背包 11,物品 22 放到背包 22,物品 33 放到背包 33,物品 44 放到到背包 44。

【数据范围】

  • 测试点 1-5 满足 n≤8n≤8。

  • 测试点 6-12 满足 n≤20,1≤ai≤109,1≤bi≤109n\le20,1\le a_i \le 10^9,1\le b_i \le 10^9。

并且数据保证至少存在一种合法的方案。