logo AlgoBeat OnlineJudge
登录 注册

#215162. [UOI 2020 II Stage] 报复邻居

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

题目描述

哎呀,这些邻居可真能折腾。他们如此憎恨谢别克,给他设下各种陷阱和麻烦。终于,谢别克做了一个梦。这不是普通的梦,在梦里他可以驱逐家里所有的邻居。

谢别克的房子呈环形,被分隔成若干公寓。房子里总共有 套公寓,按顺时针方向编号为 。对于 ,编号 的公寓的下一套是编号 的公寓,而编号 的公寓的下一套是编号 的公寓。在编号为 的公寓里居住着 个邻居。

为了把居民赶出房子,谢别克可以 次向某个公寓投掷青蛙。所有青蛙的 威力 是一个 之间的整数,并且对所有青蛙都相同,为 。谢别克不必每次都把青蛙投掷到同一套公寓。当谢别克把青蛙投掷到编号为 的公寓时,此刻正在公寓 里的邻居会永远逃离房子。同时,沿着顺时针方向接下来 套公寓里的邻居会感到害怕,并搬迁到顺时针方向第 套公寓里。逆时针方向也是如此:逆时针方向前 套公寓里的邻居会感到害怕,并搬迁到逆时针方向第 套公寓里。

也就是说,如果房子有 套公寓,青蛙被投掷到编号 的公寓,且 ,那么:

  • 套公寓里的所有人将永远消失。
  • 套公寓里的居民将搬迁到第 套公寓。
  • 套公寓里的居民将搬迁到第 套公寓。

如果 ,那么没有人会搬迁,只是第 套公寓里的邻居逃离。

下图展示了 时的三种情况。第一张图展示了每套公寓中邻居的初始数量。第二张图展示了青蛙飞入第 号公寓后的邻居数量。第三张图展示了另一只青蛙飞入第 号公寓后的分布情况。房子周围写有公寓编号。黄色高亮表示青蛙飞入的公寓。

:::align{center} :::

当然,谢别克希望尽可能多地赶走邻居。但他还不够聪明,所以请求你帮助他,告诉他通过 次投掷青蛙最多可以赶走多少邻居。

输入格式

第一行包含三个整数 () —— 分别表示房子里的公寓数量、青蛙投掷次数以及青蛙的威力。

第二行包含 个整数 () —— 各公寓的居民数量。

第三行包含一个整数 () —— 测试点所属区块的编号。

输出格式

在一行中输出一个整数 —— 谢别克最多能赶走的邻居数量。

样例

样例输入 1

8 2 2
10 10 6 7 15 8 2 1
0

样例输出 1

38

样例输入 2

5 2 1
2 4 2 1 7
0

样例输出 2

13

数据范围与提示

评分细则

  • (10 分)
  • (10 分)
  • (10 分) ,且前 套公寓和后 套公寓中无人居住。
  • (10 分) ,且前 套公寓和后 套公寓中无人居住。
  • (10 分) ,且所有公寓要么空置,要么存在 ,使得从 的公寓段中各住着一位邻居,而其他所有公寓空置。
  • (10 分) ,且要么满足区块 5 的条件,要么存在 ,使得从 和从 的公寓段中各住着一位邻居,其他所有公寓空置,并且
  • (10 分)
  • (10 分)
  • (10 分)
  • (10 分) 无额外限制。

翻译由 DeepSeek V3 完成