AT_arc028_4.[ARC028D] 注文の多い高橋商店
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥商店有 N 种商品。现给出每种商品的数量信息,请你求出“选出总共 M 个商品的方法数”。注意,同一种商品之间不作区分。
不过,这样似乎有点太简单了,所以再加上一些小要求。现有 Q 个订单,每个订单由整数 k 和 x 组成。对于每个订单,请你求出“必须恰好选出 ki 种商品中的第 ki 种商品 xi 个,且总共选出 M 个商品的方法数”。
输入格式
由于约束条件有误,已修正如下:1≤Q≤100,000 → 1≤Q≤500,000(22:15)
输入通过标准输入给出,格式如下:
N M Q a1 a2 … aN
k1 x1
k2 x2
⋮
kQ xQ
- 第 1 行包含三个整数,分别表示商品种类数 N (1≤N≤2000),要选出的商品总数 M (1≤M≤2000),订单数 Q (1≤Q≤500,000),以空格分隔。
- 第 2 行包含 N 个空格分隔的整数,表示每种商品的数量信息。其中第 i 个数 ai (1≤ai≤M) 表示第 i 种商品的数量。
- 第 3 行到第 Q+2 行,每行包含两个整数 ki (1≤ki≤N) 和 xi (1≤xi≤aki),以空格分隔。表示第 i 个订单要求“必须恰好选出第 ki 种商品 xi 个,且总共选出 M 个商品的方法数”。
输出格式
输出 Q 行。第 i 行输出第 i 个订单的答案,对 1,000,000,007 (109+7) 取模。
输入输出样例
输入#1
3 5 2 3 2 2 1 3 1 0
输出#1
3 0
输入#2
4 7 5 1 2 3 4 4 0 3 2 2 1 1 1 1 0
输出#2
0 5 5 9 6
说明/提示
部分分
本题设有部分分。
- 若能通过所有满足 N≤100, M≤100, Q≤100 的测试点,可得 10 分。
- 若能通过所有满足 N≤100, M≤100 的测试点,可再得 20 分。
- 若能通过所有满足 Q≤1000 的测试点,可再得 50 分。
样例说明 1
第 1 个订单要求“必须恰好选出第 1 种商品 3 个,且总共选出 5 个商品的方法数”,这样的选法有以下 3 种:
- 第 1 种商品选 3 个,第 2 种商品选 2 个,第 3 种商品选 0 个。
- 第 1 种商品选 3 个,第 2 种商品选 1 个,第 3 种商品选 1 个。
- 第 1 种商品选 3 个,第 2 种商品选 0 个,第 3 种商品选 2 个。
第 2 个订单要求从第 2 种和第 3 种商品中总共选出 5 个商品,但商品数量不足,因此没有可行方案,应输出 0。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?