CFCF2183C.War Strategy

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

战争爆发了!你作为国家的最高将领,必须制定战略部署你的军队。

nn 个基地排成一行,第 kk 个基地是你的主基地。最开始,只有一个士兵驻扎在第 kk 个基地。每天按照如下顺序发生:

  • 你下达命令,选择一个基地 ii1in1 \leq i \leq n),并选择该基地内任意数量的士兵(可以为 00,也可以为该基地全部士兵),然后命令这些士兵全部向相同方向移动:要么移动到 i1i-1 号基地,要么移动到 i+1i+1 号基地。没有士兵能够移动到 11 号基地的左侧或 nn 号基地的右侧。
  • 之后,会有一名新的士兵加入到第 kk 个基地。这名士兵不能被当天的命令调动。

不过时间紧迫,距离敌军进攻只剩下 mm 天。一个基地如果驻有至少一名士兵,则称之为被加固。你的任务是,在第 mm 天结束时,你最多能让多少个基地被加固(包括主基地)。

输入格式

每个测试用例包含多组数据。第一行包含测试组数 tt1t1041 \le t \le 10^4)。接下来描述每组数据。

每组数据的第一行包含三个整数 nnmmkk1kn1051 \leq k \leq n \leq 10^51m1091 \leq m \leq 10^9),表示基地数量、你可以加固基地的天数,以及主基地的编号。

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每组数据,输出第 mm 天结束时你最多能加固的基地数量。

输入输出样例

  • 输入#1

    7
    3 1 3
    3 3 2
    4 2 2
    3 2 1
    4 3 3
    7 7 4
    100000 1000000000 100000

    输出#1

    2
    3
    3
    2
    3
    6
    100000

说明/提示

在第二个测试用例中,以下为一种加固 33 个基地的方法:

  • 第一天,命令第 33 号基地的 00 个士兵移动到第 22 号基地。一天结束时,一名新士兵加入第 22 号基地(此时第 22 号基地有 22 名士兵,其它基地为 00)。
  • 第二天,命令第 22 号基地的 11 名士兵移动到第 11 号基地。一天结束时,一名新士兵加入第 22 号基地。此时第 22 号和第 11 号基地各有 2211 名士兵。
  • 第三天,命令第 22 号基地的 22 名士兵移动到第 33 号基地。一天结束时,一名新士兵加入第 22 号基地。现在第 112233 号基地上分别有 112222 名士兵。
  • 现在第 112233 号基地上都至少有一名士兵,因此答案为 33

在第三个测试用例中,以下为一种让 33 个基地被加固的方法:

  • 第一天,命令现有士兵从第 22 号基地移至第 33 号基地。一天结束时,有一名新士兵加入第 22 号基地。
  • 第二天,命令第 22 号基地的士兵移动到第 11 号基地。一天结束时,有一名新士兵加入第 22 号基地。
  • 现在第 1,2,31,2,3 号基地上都各有一名士兵,因此答案为 33。可以证明在第 22 天结束时,不可能有比 33 个基地更多的被加固。

以下是第三个测试用例的直观演示。

首页