‹ 上一题 下一题 ›

06643. USACO·奶牛入栏 未做

2000 ms 256 MB 测试点 12 通过率 100% USACO池题USACO-Bronze乘法原理

题目描述

Farmer John 有 头奶牛(),高度为 。他的牛栏有 个牛棚,高度限制分别为 (例如,如果 ,那么一头高度不超过 的奶牛可以住在牛棚 里)。Farmer John 有多少种不同的方式安排他的奶牛,使得每头奶牛均住在不同的牛棚里,并且使得每个牛棚的高度限制均得到满足?

输入格式

输入的第一行包含 。第二行包含 个空格分隔的整数 。第三行包含 个空格分隔的整数 。所有的高度和高度限制均在范围 内。

输出格式

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

样例

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

提示说明

【样例解释】

在这个例子中,我们不能将第三头奶牛安排到第一个牛棚里,因为

。类似地,我们不能将第四头奶牛安排到第一或第三个牛棚里。一种符合高度限制的安排方式为将奶牛 安排到牛棚 ,奶牛 安排到牛棚 ,奶牛 安排到牛棚 ,奶牛 安排到牛棚 。

  • 测试点 6-12 没有额外限制。

【数据规模与约定】

  • 测试点 1-5 满足 。

  • 测试点 6-12 没有额外限制。

供题:Shreyas Thumathy

输入
输出

            
答案