#C. Just Stalling

    Type: Default 1000ms 256MiB

Just Stalling

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

Farmer John 有 NN 头奶牛(1N201\le N\le 20),高度为 a1aNa_1\ldots a_N。他的牛栏有 NN 个牛棚,高度限制分别为 b1bNb_1\ldots b_N(例如,如果 b5=17b_5=17,那么一头高度不超过 1717 的奶牛可以住在牛棚 55 里)。Farmer John 有多少种不同的方式安排他的奶牛,使得每头奶牛均住在不同的牛棚里,并且使得每个牛棚的高度限制均得到满足?

输入格式

输入的第一行包含 NN。第二行包含 NN 个空格分隔的整数 a1,a2,,aNa_1,a_2,\ldots,a_N。第三行包含 NN 个空格分隔的整数 b1,b2,,bNb_1,b_2,\ldots,b_N。所有的高度和高度限制均在范围 [1,109][1,10^9] 内。

输出格式

输出 Farmer John 可以将每头奶牛安排到不同的牛棚里,使得每个牛棚的高度限制均得到满足的方法数。注意输出的数量可能需要使用 64 位整数型,例如 C++ 中的 long long。

样例 #1

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

提示

样例解释 1

在这个例子中,我们不能将第三头奶牛安排到第一个牛棚里,因为 3=a3>b1=23=a_3>b_1=2。类似地,我们不能将第四头奶牛安排到第一或第三个牛棚里。一种符合高度限制的安排方式为将奶牛 1 安排到牛棚 1,奶牛 2 安排到牛棚 2,奶牛 3 安排到牛棚 3,奶牛 4 安排到牛棚 4。

测试点性质
  • 测试点 151-5 满足 N8N\le 8
  • 测试点 6126-12 没有额外限制。

零基础练习题(4)

Not Claimed
Status
Done
Problem
3
Open Since
2025-3-8 12:00
Deadline
2025-3-16 23:59
Extension
24 hour(s)