#P943. [CZOJ 一周一测 R11 A] Divisor

[CZOJ 一周一测 R11 A] Divisor

题目描述

你在和 玩一个数论游戏。他承诺如果你赢了他,他会把他的 maze 给你;如果你和他平局,他会给你 czoj 管理;但如果你输给他了,嘿嘿嘿……

首先给你正整数 n>2n>2 表示这次游戏的值域范围是 [1,n][1,n]。然后你可以选择三个数:

  • yy 满足 y[1,n)y\in[1,n)
  • zz 满足 z(y,n]z\in(y,n]
  • 由于这是一个数论游戏,xx 满足 xxyy 的因数且是 zz 的因数。

游戏的目标是依次最大化 x,y,zx,y,z 在输入里告诉了你他算给出的 xx。你可以选择要不要输给他哦。

为了通过这道题,你需要构造最优的 x,y,zx,y,z。当然,如果你把这道题当成和 的一次游戏,也许会有意想不到的惊喜哦。

输入格式

一行两个正整数 n,Xn,X。第二个数表示 给出的 xx。由于 不一定像你想象中的强,保证 0X<opt0\le X<optoptopt 表示最优的可能的 xx

如果你想输给他,但是 X1X\le1,你可以放心地输出 x=y=z=0x=y=z=0。这将会被判定为输出合理,你输给他(或 X=0X=0,你和他平局)。

输出格式

一行三个正整数 x,y,zx,y,z。你需要满足 xy,xz,1y<znx|y,x|z,1\le y<z\le n

6 2
2 4 6
9 3
4 4 8
9 3
1 1 2

提示

以上输出均被判定为合法。其中,仅样例 22 的输出达到了最优解,被判定为满分。样例 11 判定为平局,样例 22 判定为你赢了,样例 33 判定为你输了。

注意到即使你赢了也不一定获得满分。实际上你需要将 x,y,zx,y,z 和 spj 给出的 x,y,zx,y,z 对比,平局才算满分。

数据范围

显然使用捆绑测试。每个 subtask 取最低分。如果一个点你没获得满分且输出合法,spj 会默认你在和 玩游戏,并根据游戏结果给出评分。也就是说,每个点都不完全对也能得到分哦!

  • Subtask 1:x=1x=11010 分。
  • Subtask 2:x=opt1x=opt-11010 分。
  • Subtask 3:4n50004\le n\le 50002020 分。
  • Subtask 4:2<n1092<n\le 10^96060 分。

理论上赛时的部分分应该是这样的,但是为了彩蛋,赛后将所有点一起当一个大 subtask 测。得分取最小值。

后续当然是你赢了 都不会把管理给你的啦。maze 呢?更不可能了 hhh。彩蛋见题解捏。