#P15025. [UOI 2020 II Stage] 报复邻居
[UOI 2020 II Stage] 报复邻居
题目描述
哎呀,这些邻居可真能折腾。他们如此憎恨谢别克,给他设下各种陷阱和麻烦。终于,谢别克做了一个梦。这不是普通的梦,在梦里他可以驱逐家里所有的邻居。
谢别克的房子呈环形,被分隔成若干公寓。房子里总共有 套公寓,按顺时针方向编号为 到 。对于 ,编号 的公寓的下一套是编号 的公寓,而编号 的公寓的下一套是编号 的公寓。在编号为 的公寓里居住着 个邻居。
为了把居民赶出房子,谢别克可以 次向某个公寓投掷青蛙。所有青蛙的 威力 是一个 到 之间的整数,并且对所有青蛙都相同,为 。谢别克不必每次都把青蛙投掷到同一套公寓。当谢别克把青蛙投掷到编号为 的公寓时,此刻正在公寓 里的邻居会永远逃离房子。同时,沿着顺时针方向接下来 套公寓里的邻居会感到害怕,并搬迁到顺时针方向第 套公寓里。逆时针方向也是如此:逆时针方向前 套公寓里的邻居会感到害怕,并搬迁到逆时针方向第 套公寓里。
也就是说,如果房子有 套公寓,青蛙被投掷到编号 的公寓,且 ,那么:
- 第 套公寓里的所有人将永远消失。
- 第 套公寓里的居民将搬迁到第 套公寓。
- 第 套公寓里的居民将搬迁到第 套公寓。
如果 ,那么没有人会搬迁,只是第 套公寓里的邻居逃离。
下图展示了 、 时的三种情况。第一张图展示了每套公寓中邻居的初始数量。第二张图展示了青蛙飞入第 号公寓后的邻居数量。第三张图展示了另一只青蛙飞入第 号公寓后的分布情况。房子周围写有公寓编号。黄色高亮表示青蛙飞入的公寓。
:::align{center}
:::
当然,谢别克希望尽可能多地赶走邻居。但他还不够聪明,所以请求你帮助他,告诉他通过 次投掷青蛙最多可以赶走多少邻居。
输入格式
第一行包含三个整数 、 和 ($0 \leq m \leq 4,\, 2 \cdot m+3 \leq n \leq 2\,000,\, 1 \leq k \leq n$) —— 分别表示房子里的公寓数量、青蛙投掷次数以及青蛙的威力。
第二行包含 个整数 () —— 各公寓的居民数量。
第三行包含一个整数 () —— 测试点所属区块的编号。
输出格式
在一行中输出一个整数 —— 谢别克最多能赶走的邻居数量。
8 2 2
10 10 6 7 15 8 2 1
0
38
5 2 1
2 4 2 1 7
0
13
提示
评分细则
- (10 分) 。
- (10 分) 。
- (10 分) ,且前 套公寓和后 套公寓中无人居住。
- (10 分) ,且前 套公寓和后 套公寓中无人居住。
- (10 分) ,且所有公寓要么空置,要么存在 ,使得从 到 的公寓段中各住着一位邻居,而其他所有公寓空置。
- (10 分) ,且要么满足区块 5 的条件,要么存在 ,使得从 到 和从 到 的公寓段中各住着一位邻居,其他所有公寓空置,并且 。
- (10 分) 。
- (10 分) 。
- (10 分) 。
- (10 分) 无额外限制。
翻译由 DeepSeek V3 完成