CF1063D Candies for Children

题目描述

在儿童节上,孩子们围成一圈跳舞。当音乐停止时,孩子们依然站成一个圆圈。这时,Lena 想起她的父母送给她一盒正好有 $k$ 颗“Wilky May”糖果的糖果盒。Lena 并不贪心,于是她决定把所有糖果都送给圈中的朋友们。 Lena 知道她的一些朋友是“甜食控”,而其他人不是。每个甜食控如果盒中至少有两颗糖果,就会拿出两颗,否则只拿一颗。其余的朋友每次只会从盒中拿出一颗糖果。 在分糖果之前,Lena 先离开了圆圈,此时圈中正好剩下 $n$ 个人。Lena 按顺时针方向用正整数给她的朋友们编号,从 $1$ 开始,其中编号 $1$ 分配给她最好的朋友 Roma。 最初,Lena 把糖果盒交给编号为 $l$ 的朋友,然后从编号 $l$ 的朋友开始,每个人按顺时针顺序从盒中取糖果并把盒子传给下一个人。这个过程一直持续到编号为 $r$ 的朋友取走最后一颗(或两颗)糖果并拿到空盒为止。请注意,可能有些朋友多次从盒中取糖果,也就是说,糖果盒可能在圈中转了好几圈才被拿空。 Lena 并不知道哪些朋友是甜食控,但她想知道,最多有多少个朋友可能是甜食控。如果这种情况根本不可能发生,请告诉她她的观察是错误的。

输入格式

一行包含四个整数 $n$、$l$、$r$ 和 $k$($1 \leq n, k \leq 10^{11}$,$1 \leq l, r \leq n$),分别表示圈中朋友的数量、最先拿到糖果盒的朋友编号、最后拿到糖果的朋友编号,以及糖果盒中最初的糖果数量。

输出格式

输出一个整数,表示 Lena 的朋友中最多可能有多少个甜食控。如果 Lena 的观察是错误的,输出 $-1$。

说明/提示

在第一个样例中,任意两位朋友都可以是甜食控,这样每个人都会拿到糖果盒两次,最后一位拿糖果的是第 $4$ 位朋友。 在第二个样例中,甜食控可以是任意三位朋友,除了第 $3$ 位朋友。 在第三个样例中,只有一位朋友会拿糖果,但他可以是甜食控,只是无法拿到两颗糖果。圈中的其他朋友也可以是甜食控,只是他们一次糖果都拿不到。 在第四个样例中,Lena 的观察是错误的,这种情况不可能发生。 由 ChatGPT 4.1 翻译