CF807B T-Shirt Hunt

题目描述

不久前,Codeforces 举办了 Codecraft-17 比赛。前 25 名的参赛者,以及在前 500 名中随机抽取的另外 25 名,将获得一件 Codeforces T 恤。 遗憾的是,你没能进入前 25 名,但你进入了前 500 名,取得了第 $p$ 名的成绩。 现在,8VC Venture Cup 2017 的淘汰赛正在进行。已宣布,Codecraft-17 T 恤的获奖者将按照如下方式选出。设 $s$ 为 8VC Venture Cup 2017 淘汰赛冠军的分数。随后,将执行以下伪代码: ``` i := (s div 50) mod 475 重复 25 次: i := (i * 96 + 42) mod 475 print(26 + i) ``` 其中 "div" 表示整数除法运算,"mod" 表示取模(取余数)运算。 执行该伪代码后,将输出 25 个介于 26 和 500(含)之间的整数。这些数表示获奖者在 Codecraft-17 比赛中的名次。保证对于任意 $s$,输出的 25 个数两两不同。 你目前在 8VC Venture Cup 2017 淘汰赛中领先,手握 $x$ 分。你认为本轮至少拿到 $y$ 分就足够获得冠军。 你可以通过完成任意数量的成功和失败 Hack 来改变最终得分。每次成功 Hack 可获得 100 分,每次失败 Hack 会被扣 50 分。然而,成功 Hack 很难做到。 你希望赢得本轮比赛,并且确保获得 Codecraft-17 T 恤。请问,为了实现这个目标,你最少要完成多少次成功 Hack?

输入格式

仅一行,包含三个整数 $p$、$x$ 和 $y$($26 \leq p \leq 500$;$1 \leq y \leq x \leq 20000$),分别表示你在 Codecraft-17 的排名、你在 8VC Venture Cup 2017 淘汰赛中的当前得分,以及你认为获胜所需的最小分数。

输出格式

输出一个整数,表示在满足条件的情况下,你最少需要进行的成功 Hack 次数。 保证对于任意有效输入,目标都能实现。

说明/提示

在第一个样例中,不需要进行任何 Hack,因为 10880 分已经包含第 239 名(也就是你)获得 T 恤。在这种情况下,按照伪代码,T 恤将被发放给如下名次的选手: ``` 475 422 84 411 453 210 157 294 146 188 420 367 29 356 398 155 102 239 91 133 365 312 449 301 343 ``` 在第二个样例中,你需要做两次成功和一次失败 Hack,使你的分数变为 7408。 在第三个样例中,你需要执行多达 24 次成功 Hack,使你的分数达到 10400。 在第四个样例中,仅进行 6 次失败 Hack(且不用做任何成功 Hack)即可使你的得分变为 6500,既能获得本轮胜利,又能确保获得 T 恤。 由 ChatGPT 5 翻译