CF2131G.Wafu!
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
为了帮助 Kudryavka 提高数学能力,她得到了一个包含 n 个互不相同正整数的集合 S。
初始时,她的得分为 1。只要集合不为空,她可以对集合执行任意次数如下操作:
- 设 S 的最小值为 m。
- 将她的得分乘以 m。
- 从 S 中移除 m。
- 对于每个满足 1≤i<m 的整数 i,将 i 加入集合 S。可以证明在此步骤中不会添加重复元素。
她沉迷于执行这些操作,但在进行了 k 次操作后,她忘记了自己的得分。请你帮她计算她的得分,结果对 109+7 取模。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤2×105,1≤k≤109)。
第二行包含 n 个整数 s1,s2,…,sn(1≤si≤109,si=sj),表示初始集合 S 的元素。保证在每次操作前集合 S 都不为空。
保证所有测试用例中 n 的总和不超过 2×105。
输出格式
对于每个测试用例,输出一个整数,表示答案对 109+7 取模后的结果。
输入输出样例
输入#1
4 2 3 1 3 3 6 5 1 4 2 100 2 100 5 15 1 2 3 4 5
输出#1
3 24 118143737 576
说明/提示
让我们模拟第一个测试用例的过程:
{1,3}移除 1{3}移除 3添加 1,2{1,2}移除 1{2}
被移除的值依次为 1、3 和 1,因此她的得分为 1×3×1=3。
在第二个测试用例中,答案为 1×4×1×2×1×3=24。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?