[USACO21JAN] Just Stalling B

Luogu
IDLGP9942
Time1000ms
Memory256MB
DifficultyP2
贪心USACO2021O2优化排序
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 有多少种不同的方式安排他的奶牛,使得每头奶牛均住在不同的牛棚里,并且使得每个牛棚的高度限制均得到满足? ## Input 输入的第一行包含 $N$。第二行包含 $N$ 个空格分隔的整数 $a_1,a_2,\ldots,a_N$。第三行包含 $N$ 个空格分隔的整数 $b_1,b_2,\ldots,b_N$。所有的高度和高度限制均在范围 $[1,10^9]$ 内。 ## Output 输出 Farmer John 可以将每头奶牛安排到不同的牛棚里,使得每个牛棚的高度限制均得到满足的方法数。注意输出的数量可能需要使用 64 位整数型,例如 C++ 中的 long long。 [samples] ## Note ### 样例解释 1 在这个例子中,我们不能将第三头奶牛安排到第一个牛棚里,因为 $3=a_3>b_1=2$。类似地,我们不能将第四头奶牛安排到第一或第三个牛棚里。一种符合高度限制的安排方式为将奶牛 1 安排到牛棚 1,奶牛 2 安排到牛棚 2,奶牛 3 安排到牛棚 3,奶牛 4 安排到牛棚 4。 ### 测试点性质 - 测试点 $1-5$ 满足 $N\le 8$。 - 测试点 $6-12$ 没有额外限制。
Samples
Input #1
4
1 2 3 4
2 4 3 4
Output #1
8
API Response (JSON)
{
  "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 有多少种不同的方式安排他的奶牛,使得每头奶牛均住在不同的牛棚里,并且使得每个牛棚的高度限制...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments