AT_arc028_4.[ARC028D] 注文の多い高橋商店

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥商店有 NN 种商品。现给出每种商品的数量信息,请你求出“选出总共 MM 个商品的方法数”。注意,同一种商品之间不作区分。

不过,这样似乎有点太简单了,所以再加上一些小要求。现有 QQ 个订单,每个订单由整数 kk 和 xx 组成。对于每个订单,请你求出“必须恰好选出 kik_i 种商品中的第 kik_i 种商品 xix_i 个,且总共选出 MM 个商品的方法数”。

输入格式

由于约束条件有误,已修正如下:1≤Q≤100,0001\leq Q\leq 100,000 → 1≤Q≤500,0001\leq Q\leq 500,000(22:15)

输入通过标准输入给出,格式如下:

NN MM QQ a1a_1 a2a_2 … aNa_N
k1k_1 x1x_1
k2k_2 x2x_2
⋮
kQk_Q xQx_Q

  • 第 11 行包含三个整数,分别表示商品种类数 N (1≤N≤2000)N\ (1\leq N\leq 2000),要选出的商品总数 M (1≤M≤2000)M\ (1\leq M\leq 2000),订单数 Q (1≤Q≤500,000)Q\ (1\leq Q\leq 500,000),以空格分隔。
  • 第 22 行包含 NN 个空格分隔的整数,表示每种商品的数量信息。其中第 ii 个数 ai (1≤ai≤M)a_i\ (1\leq a_i\leq M) 表示第 ii 种商品的数量。
  • 第 33 行到第 Q+2Q+2 行,每行包含两个整数 ki (1≤ki≤N)k_i\ (1\leq k_i\leq N) 和 xi (1≤xi≤aki)x_i\ (1\leq x_i\leq a_{k_i}),以空格分隔。表示第 ii 个订单要求“必须恰好选出第 kik_i 种商品 xix_i 个,且总共选出 MM 个商品的方法数”。

输出格式

输出 QQ 行。第 ii 行输出第 ii 个订单的答案,对 1,000,000,007 (109+7)1,000,000,007\ (10^9+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≤100N\leq 100,\ M\leq 100,\ Q\leq 100 的测试点,可得 1010 分。
  • 若能通过所有满足 N≤100, M≤100N\leq 100,\ M\leq 100 的测试点,可再得 2020 分。
  • 若能通过所有满足 Q≤1000Q\leq 1000 的测试点,可再得 5050 分。

样例说明 1

第 11 个订单要求“必须恰好选出第 11 种商品 33 个,且总共选出 55 个商品的方法数”,这样的选法有以下 33 种:

  • 第 11 种商品选 33 个,第 22 种商品选 22 个,第 33 种商品选 00 个。
  • 第 11 种商品选 33 个,第 22 种商品选 11 个,第 33 种商品选 11 个。
  • 第 11 种商品选 33 个,第 22 种商品选 00 个,第 33 种商品选 22 个。

第 22 个订单要求从第 22 种和第 33 种商品中总共选出 55 个商品,但商品数量不足,因此没有可行方案,应输出 00。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页