#D. 北辰杯月赛奖励

    Type: RemoteJudge 1000ms 512MiB

北辰杯月赛奖励

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

为了奖励月赛成绩优异的同学,北辰OI俱乐部开始分糖啦!

题目描述

北辰OI俱乐部有 nn 个小朋友,你是其中之一。保证 n2n \ge 2

有一天你在俱乐部礼品区发现无穷多颗糖果,你打算拿一些糖果回去分给战友们。

由于你没有无穷的力量,所以你的体力有限,至多只能拿 RR 块糖回去。

但是拿的太少不够分的,所以你至少要拿 LL 块糖回去。保证 nLRn \le L \le R

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

如果你拿了 kk 块糖,你将把这 kk 块糖放到篮子里,并要求大家按照如下方案分糖果:只要篮子里有不少于 nn 块糖果,俱乐部的所有 nn 个战友(包括你自己)都从篮子中拿走恰好一块糖,直到篮子里的糖数量少于 nn 块。此时篮子里剩余的糖果均归你所有——这些糖果是作为你搬糖果的奖励

作为俱乐部战神,你希望让作为你搬糖果的奖励的糖果数量(而不是你最后获得的总糖果数量!)尽可能多;因此你需要写一个程序,依次输入 n,L,Rn, L, R,并输出你最多能获得多少作为你搬糖果的奖励的糖果数量。

输入格式

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

输出格式

输出一行一个整数,表示你最多能获得的作为你搬糖果的奖励的糖果数量。

7 16 23
6
10 14 18
8
见附件中的 candy/candy3.in。
见附件中的 candy/candy3.ans。

提示

【样例解释 #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

北辰OI CSP-J模拟测试(三)

Not Attended
Status
Done
Rule
IOI
Problem
4
Start at
2023-10-1 8:00
End at
2023-10-1 12:00
Duration
4 hour(s)
Host
Partic.
1