{"problem":{"name":"[USACO21JAN] Just Stalling B","description":{"content":"Farmer John 有 $N$ 头奶牛（$1\\le N\\le 20$），高度为 $a_1\\ldots a_N$。他的牛栏有 $N$ 个牛棚，高度限制分别为 $b_1\\ldots b_N$（例如，如果 $b_5=17$，那么一头高度不超过 $17$ 的奶牛可以住在牛棚 $5$ 里）。Farmer John 有多少种不同的方式安排他的奶牛，使得每头奶牛均住在不同的牛棚里，并且使得每个牛棚的高度限制","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":262144},"difficulty":{"LuoguStyle":"P2"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9942"},"statements":[{"statement_type":"Markdown","content":"Farmer John 有 $N$ 头奶牛（$1\\le N\\le 20$），高度为 $a_1\\ldots a_N$。他的牛栏有 $N$ 个牛棚，高度限制分别为 $b_1\\ldots b_N$（例如，如果 $b_5=17$，那么一头高度不超过 $17$ 的奶牛可以住在牛棚 $5$ 里）。Farmer John 有多少种不同的方式安排他的奶牛，使得每头奶牛均住在不同的牛棚里，并且使得每个牛棚的高度限制均得到满足？ \n\n## Input\n\n输入的第一行包含 $N$。第二行包含 $N$ 个空格分隔的整数 $a_1,a_2,\\ldots,a_N$。第三行包含 $N$ 个空格分隔的整数 $b_1,b_2,\\ldots,b_N$。所有的高度和高度限制均在范围 $[1,10^9]$ 内。\n\n## Output\n\n输出 Farmer John 可以将每头奶牛安排到不同的牛棚里，使得每个牛棚的高度限制均得到满足的方法数。注意输出的数量可能需要使用 64 位整数型，例如 C++ 中的 long long。 \n\n[samples]\n\n## Note\n\n### 样例解释 1\n\n在这个例子中，我们不能将第三头奶牛安排到第一个牛棚里，因为 $3=a_3>b_1=2$。类似地，我们不能将第四头奶牛安排到第一或第三个牛棚里。一种符合高度限制的安排方式为将奶牛 1 安排到牛棚 1，奶牛 2 安排到牛棚 2，奶牛 3 安排到牛棚 3，奶牛 4 安排到牛棚 4。\n\n### 测试点性质\n\n- 测试点 $1-5$ 满足 $N\\le 8$。\n- 测试点 $6-12$ 没有额外限制。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9942","tags":["贪心","USACO","2021","O2优化","排序"],"sample_group":[["4\n1 2 3 4\n2 4 3 4","8"]],"created_at":"2026-03-03 11:09:25"}}