2226. The Craftmine Update

题目背景

25w14craftmine 是一个 愚人节玩笑 快照,也是所谓 “The Craftmine Update” 的唯一一个快照,发布于2025年4月1日。在此快照中,你可以 Craft(制作) 自己的专属 Mine(矿境)。在矿境中收集特定资源,升级装备技能打肉鸽......

题目描述

Gouk 刚刚从一个矿境中传送回来,他带回来了一整个背包共计 n 个方块,折算成了 p 点经验值,兴奋过后,他突然回想起一个很重要的问题 —— 他到底带回来了哪些方块?

在这个矿境中,存在有三种方块:价值为 a 的土方块,价值为 b 的铁矿石,价值为 c 的钻石矿,请你帮他回忆一下,三种方块分别带回来了多少个?

形式上,给你五个正整数 n, p, a, b, c,求一个三元组 x, y, z, 使得

x + y + z = n

ax + by + cz = p

0 \leq x , y , z \leq n

由于他也不记得到底带回来哪些方块了,所以你只需要随便找一个可能的答案糊弄他就好。当然,他为了避免你乱答,可能会给你一些错误的信息,此时你就告诉他不可解,然后上去把他揍一顿,反正他肯定开了死亡不掉落

输入

每个测试文件由多个测试用例组成。第一行包含一个整数 t (1 \leq t \leq 10^4) 表示测试用例数。

每个测试用例都包含五个整数 n, p, a, b, c (1 \leq n \leq 10^{12}, 0 \leq p \leq 10^{17}, 0 \leq a < b < c \leq 10^9) - 收集到的方块总数 n,折算的总价值 p,三种方块的价值 a, b, c

输出

对于每个测试用例,输出一行,若无解,请输出 -1,若有解,输出三个非负整数 x, y, z ,若有多组解,输出任意一组解即可。

样例

标准输入 复制文本
3
30 60 0 1 3
10 51 2 4 5
20 60 3 5 15
标准输出 复制文本
10 0 20
-1
20 0 0
登录以提交代码。
单点时限 1 秒
内存限制 256 MB
提交 334
通过 27