3186:家庭会员

时间限制:2 S   /  内存限制:65536 KB
AC:16   /  Submit:64
问题描述

某著名游戏主机厂商推出了家庭会员机制,可以由多个人共同组成家庭账户,以享受更便宜的会员服务费。

主机厂商规定每个人只能加入一个家庭账户,并且推出了三种不同人数的家庭账户以供自由选择,分别是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

相关

20-21(2)第1次线上赛


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1