竞赛
考级
解法:如果R-L>=N,那么中间值X(L<=X<=R)%N的最大值一定是N-1,因为其中有R-L个元素,同时R-L>=N。 剩下的R-L<N的部分,中间可能包含N-1 其他的,一定满足:TN<=L<=R<=(T+1)N 其中T是整数,那么最优解一定是R,因为R>=L 根据这个,就可以写出以下代码: 很简单,对吧?
题目大意 至少拿L,至多拿R(n≤L≤R),没人依次从篮子里拿一块,最终不够n块时全归你所有,使你获得的糖果最多 思路分析 拿回来 x (L≤x≤R),每人拿一块,拿到不足n块,则剩下的是 y = x % n。 如果 L 到 R 范围内有一个数 % n == n - 1,则是拿的最多的(再加一块又能分一轮,再减一块就不是最优) 所以只要找存不存在这个数,如果存在输出 n - 1,不存在输出最优(即最接近剩下n - 1块)
区区 10 行轻松搞定(建议降红)
首先:想到暴力解法(因为ACGO数据过水,所以暴力解法能AC,在洛谷测试点9会TLE) 随后就是本题关键解法——数学解法
1.考场上的写法 2.ACGO解法
提交答案之后,这里将显示提交结果~