logo AlgoBeat OnlineJudge
登录 注册

#215371. 「MierOI R1」Beyond

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

某一天,小 M 学习了一个叫做「分数规划」的算法,它是用来解决「分数规划问题」的。

:::info[分数规划问题]{open}

个物品,第 个物品的价值为 ,重量为 均为正整数。

个物品中选出 个,记所选物品为 ,最大化

的值。

:::

恰巧,小 M 还做过一道叫做 sale 的题。他突发奇想,便出了一道题来考考你。

给定 ,以及物品的价值序列 ,求有多少种物品的重量序列 满足 ,使以下贪心策略恰好求得「分数规划问题」的最优解:

  • 将物品 按价值 降序排序。对于价值相同的物品,按序号 升序排序。选取排序后的前 个物品。

答案对 取模。

输入格式

本题有多组测试数据。

输入的第一行包含一个正整数 ,表示测试数据的组数。

接下来依次输入 组测试数据。对于每组测试数据:

  • 第一行,两个正整数
  • 第二行, 个正整数

输出格式

对于每组测试数据,输出一行一个整数,表示满足条件的物品的重量序列 的个数。答案对 取模。

样例

样例输入 1

2
2 1
10 9
6 3
10 10 8 6 6 5

样例输出 1

3
15

样例输入 2

5
16 1
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 2
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 15
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 14
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1
16 9
256 225 196 169 144 121 100 81 64 49 36 25 16 9 4 1

样例输出 2

34816
18176
32996
16887
3171

数据范围与提示

「样例 #1 解释」

对于第一组测试数据,满足条件的物品的重量序列 。当 时,贪心解为 ,最优解为 ,贪心策略未求得最优解。

「数据范围」

本题采用子任务捆绑测试。

对于所有测试数据,保证

::cute-table{tuack}

子任务 分值
^
^