P15021 [UOI 2020 II Stage] 方程
题目描述
谢别克有三个整数 $x$、$y$ 和 $z$。谢别克希望将这三个数中的一个进行三次方,另一个进行平方,剩下的一个保持不变,使得它们的总和等于 $k$。
换句话说,公式如下所示:
$$a^3 + b^2 + c = k$$
你的任务是确定,谢别克必须将 $x$、$y$ 和 $z$ 中的哪一个数进行三次方,哪一个进行平方,哪一个保持不变,才能使它们的总和等于 $k$。
如果存在多种选择方式,则 **输出任意一种**。
请注意,必须有 **恰好一个** 数被三次方,**恰好一个** 数被平方,以及 **恰好一个** 数保持不变。
输入格式
第一行包含四个整数 $x$、$y$、$z$ 和 $k$ ($1 \leq x, y, z \leq 10^3, 1 \leq k \leq 10^9$) —— 表示谢别克拥有的三个数,以及期望的运算后(一个数三次方、一个数平方、一个数不变)的总和。
输出格式
在一行中输出三个整数 $a$、$b$、$c$ —— 分别表示将被三次方的数、将被平方的数和保持不变的那个数。如果无法从给定的三个数中选择这样的 $a$、$b$、$c$ 使得 $a^3 + b^2 + c = k$,则输出 `-1 -1 -1`。
如果存在多个正确答案,输出任意一个。
说明/提示
在第一个样例中,$1^3 + 4^2 + 9 = 1 + 16 + 9 = 26$。
在第二个样例中没有答案。
翻译由 DeepSeek V3 完成