问题描述 |
---|
某著名游戏主机厂商推出了家庭会员机制,可以由多个人共同组成家庭账户,以享受更便宜的会员服务费。 主机厂商规定每个人只能加入一个家庭账户,并且推出了三种不同人数的家庭账户以供自由选择,分别是8个人组成的钻石家庭账户、5个人组成的黄金家庭账户和3个人组成的白银家庭账户。 现在有m个同学都想成为家庭账户的成员,设最终组成了a个钻石家庭账户、b个黄金家庭账户和c个白银家庭账户,要求遵循以下原则: 1. m个同学必须都加入家庭账户,即8a+5b+3c=m 2. 在满足第1点的情况下,使得a、b、c中的最小值尽可能大 3. 在满足第1、2点的情况下,使得a+b+c尽可能大 求出满足条件的最优方案。 |
输入描述 |
多组案例。一个正整数n,表示案例的数量(n<=50)。 每组案例有一个正整数m,表示总人数(m<=100000)。 |
输出描述 |
针对每组案例,如果无解,输出-1;如果有解,输出空格隔开的三个整数a、b、c,分别表示钻石、黄金、白银家庭账户的数量。 每组案例输出完都要换行。 |
样例输入复制样例 |
3 1 16 33 |
样例输出 |
-1 1 1 1 1 2 5 |
相关 |