#10410. 文具订购

内存限制:256 MiB 时间限制:1000 ms 输入文件: order.in 输出文件: order.out
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

小明的班上共有 n 元班费,同学们准备使用班费集体购买 3 种物品:

1、圆规,每个 7 元。

2、笔,每支 4 元。

3、笔记本,每本 3 元。

小明负责订购文具,设圆规,笔,笔记本的订购数量分别为 a,b,c,他订购的原则依次如下:

1、n 元钱必须正好用光,即 7a+4b+3c=n。

2、在满足以上条件情况下,成套的数量尽可能大,即 a,b,c 中的最小值尽可能大。

3、在满足以上条件情况下,物品的总数尽可能大,即 a+b+c 尽可能大。

请你帮助小明求出满足条件的最优方案。可以证明若存在方案,则最优方案唯一。

输入格式

从文件order.in中读入数据。

仅一行一个整数 n 表示班费数量。

输出格式

输出到文件 order.out 中。

若方案不存在则输出 -1。否则输出一行三个用空格分隔的非负整数 a,b,c 表示答案。

样例

【样例1输入】

1

【样例1输出】

-1

【样例2输入】

14

【样例2输出】

1 1 1

【样例3输入】

33

【样例3输出】

1 2 6

【样例3解释】

a=2,b=4,c=1 也是满足条件 1,2 的方案,但对于条件 3,该方案只买了 7 个物品,不如 a=1,b=2,c=6 的方案。

数据范围与提示

对于测试点 1 ∼ 6:n ≤ 14。

对于测试点 7 ∼ 12:n 是 14 的倍数。

对于测试点 13 ∼ 18:n ≤ 100。

对于所有测试点:0 ≤ n ≤ 105。

文件输入输出请使用

freopen("order.in","r",stdin);
freopen("order.out","w",stdout);