测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A71391. 奶牛排位

编程题 基础

题目描述

Farmer John 有 N 头奶牛(1 \le N \le 20),第 i 头奶牛的高度为 a_i

他有 N 个牛棚,第 j 个牛棚的高度限制为 b_j,即只有当奶牛高度满足 a_i \le b_j 时,奶牛 i 才能住进牛棚 j

问:将这 N 头奶牛一一安排到不同牛棚中,并且每头奶牛都满足对应牛棚高度限制的方案数有多少?

输入格式

第一行一个整数 N

第二行包含 N 个整数 a_1,a_2,\ldots,a_N

第三行包含 N 个整数 b_1,b_2,\ldots,b_N

输出格式

输出一个整数,表示可行安排方案数。

注意答案可能超过 32 位整型范围,请使用 64 位整数类型(如 C++ 的 long long)。

输入输出样例

输入 #1
4
1 2 3 4
2 4 3 4
输出 #1
8

说明/提示

样例解释

在该样例中:

  • 奶牛 3 不能放入牛棚 1,因为 a_3=3>b_1=2
  • 奶牛 4 不能放入牛棚 1 或牛棚 3,因为 a_4=4>b_1=2a_4=4>b_3=3

例如一种合法方案是:

奶牛 1 \to 牛棚 1,奶牛 2 \to 牛棚 2,奶牛 3 \to 牛棚 3,奶牛 4 \to 牛棚 4

数据范围

  • 1 \le N \le 20
  • 1 \le a_i,b_j \le 10^9