CF1359A.Berland Poker

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Berland Poker

题目描述

Berland 扑克是一种使用 nn 张牌进行的游戏,其中有 mm 张是鬼牌。共有 kk 名玩家参与游戏(nn 能被 kk 整除)。

游戏开始时,每位玩家从牌堆中抽取 nk\frac{n}{k} 张牌(每张牌只会被一名玩家抽到)。拥有最多鬼牌的玩家获胜,得分为 xyx-y,其中 xx 是获胜者手中的鬼牌数,yy 是其他所有玩家中鬼牌数的最大值。如果有两名或以上的玩家拥有最多的鬼牌,则他们都是获胜者,得分为 00

以下是一些例子:

  • n=8n=8m=3m=3k=2k=2。如果一名玩家拿到 33 张鬼牌和 11 张普通牌,另一名玩家拿到 00 张鬼牌和 44 张普通牌,则第一名玩家获胜,得分为 30=33-0=3
  • n=4n=4m=2m=2k=4k=4。两名玩家拿到普通牌,另外两名玩家拿到鬼牌,因此这两名玩家都是获胜者,得分为 00
  • n=9n=9m=6m=6k=3k=3。如果第一名玩家拿到 33 张鬼牌,第二名玩家拿到 11 张鬼牌和 22 张普通牌,第三名玩家拿到 22 张鬼牌和 11 张普通牌,则第一名玩家获胜,得分为 32=13-2=1
  • n=42n=42m=0m=0k=7k=7。由于没有鬼牌,每个人都拿到 00 张鬼牌,所有人都是获胜者,得分为 00

给定 nnmmkk,请计算一名玩家获胜时能获得的最大分数。

输入格式

输入的第一行包含一个整数 tt1t5001 \le t \le 500),表示测试用例的数量。

接下来每个测试用例包含一行,包含三个整数 nnmmkk2n502 \le n \le 500mn0 \le m \le n2kn2 \le k \le nkknn 的约数)。

输出格式

对于每个测试用例,输出一个整数,表示一名玩家获胜时能获得的最大分数。

说明/提示

样例的测试用例已在题目描述中给出。

由 ChatGPT 4.1 翻译

样例

4
8 3 2
4 2 4
9 6 3
42 0 7
3
0
1
0

在线编程 IDE

建议全屏模式获得最佳体验