#1474. CSP-模拟赛005-T1

CSP-模拟赛005-T1

题目描述

0101少儿编程俱乐部今天来了 nn 个小朋友,你是其中之一。保证 n2n \ge 2

这天你在0101抽到了非常多跳跳球,你是一个懂得分享的好孩子,你打算给在场的nn 个小朋友分跳跳球。

你至多只能拿 RR 个跳跳球来分。

但是拿的太少不够分的,所以你至少要拿 LL 个跳跳球。保证 nLRn \le L \le R

也就是说,如果你拿了 kk 个跳跳球,那么你需要保证 LkRL \le k \le R

如果你拿了 kk 个跳跳球,你将把这 kk 个跳跳球放到篮子里,并要求大家按照如下方案拿跳跳球:只要篮子里有不少于 nn 个跳跳球,0101在场的所有 nn 个小朋友(包括你自己)都从篮子中拿走恰好一个跳跳球,直到篮子里的跳跳球数量少于 nn 个。此时篮子里剩余的跳跳球均归你所有。

作为0101高质量小朋友,你希望让篮子里剩余的跳跳球的数量(而不是你最后获得的总跳跳球数量!)尽可能多;因此你需要写一个程序,依次输入 n,L,Rn, L, R,并输出你最多能获得多少剩余篮子里的跳跳球的数量。

输入格式

输入一行,包含三个正整数 n,L,Rn, L, R,分别表示小朋友的个数、跳跳球数量的下界和上界。

输出格式

输出一行一个整数,表示你最多能获得的剩余篮子里的跳跳球的数量。

样例 #1

样例输入 #1

7 16 23

样例输出 #1

6

样例 #2

样例输入 #2

10 14 18

样例输出 #2

8

提示

【样例解释 #1】

k=20k = 20 个跳跳球放入篮子里。

篮子里现在跳跳球数 20n=720 \ge n = 7,因此所有小朋友获得一个跳跳球;

篮子里现在跳跳球数变成 13n=713 \ge n = 7,因此所有小朋友获得一个跳跳球;

篮子里现在跳跳球数变成 6<n=76 < n = 7,因此这 66 个跳跳球是留给你自己的

容易发现,你获得的剩余篮子里的跳跳球的数量不可能超过 66 个(不然,篮子里的跳跳球数量最后仍然不少于 nn,需要继续每个小朋友拿一个),因此答案是 66

【样例解释 #2】

容易发现,当你拿的跳跳球数量 kk 满足 14=LkR=1814 = L \le k \le R = 18 时,所有小朋友获得一个跳跳球后,剩下的 k10k - 10 个跳跳球总是留给自己的,因此拿 k=18k = 18 个是最优解,答案是 88

【数据范围】

测试点 nn \le RR \le RLR - L \le
11 22 55
22 55 1010
33 103{10}^3
44 105{10}^5
55 103{10}^3 109{10}^9 00
66 103{10}^3
77 105{10}^5 105{10}^5
88 109{10}^9 109{10}^9
99
1010

对于所有数据,保证 2nLR1092 \le n \le L \le R \le {10}^9