题库练习 混合实验
← 上一题 下一题 →

A7076 | 混合实验

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

有 $N$ 个物体,第 $i$ 个物体中含有 $a_i$ 质量的 A 元素和 $b_i$ 质量的 B 元素,取用这个物体的代价为 $c_i$。

你可以从这 $N$ 个物体中选出若干个(也可以只选一个),把它们混合在一起。
设选出的所有物体中,A 元素的总质量为 $S_A$,B 元素的总质量为 $S_B$。

你的目标是:

- 满足 $S_A : S_B = M_a : M_b$;
- 在满足上面比例的所有选择方案中,使总代价(所有被选物体的 $c_i$ 之和)尽可能小。

如果不存在任何一种选择能满足 $S_A : S_B = M_a : M_b$,则输出 $-1$。

输入格式

输入的第一行包含三个整数 $N,M_a,M_b$。

接下来的 $N$ 行中,第 $i$ 行包含三个整数 $a_i,b_i,c_i$,表示第 $i$ 个物体中 A 元素质量为 $a_i$,B 元素质量为 $b_i$,代价为 $c_i$。

输出格式

如果存在满足条件的选择方案,输出一个整数,表示最小总代价。
否则输出 $-1$。

输入输出样例

输入 #1
3 1 1
1 2 1
2 1 2
3 3 10
输出 #1
3
输入 #2
1 1 10
10 10 10
输出 #2
-1
C++ 编辑器
输入
输出