问题1318--黄金律法之谜

1318: 黄金律法之谜

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

提交

题目描述

即使引导早已破碎,也请成为艾尔登之王!Though the path be broken and uncertain, claim your place as Elden Lord!
你现在是褪色者,为了成为会算术且节俭的艾尔登之王,你必须对你手上的卢恩(你可以理解成钱)的花费精打细算。
已知你的手上有若干个使用后会获得卢恩(钱)的道具——黄金卢恩。
你现在需要进行「升级」,升级需要花费卢恩,但是你还差 R 卢恩才可以升级。现在你需要通过捏(使用)黄金卢恩来获得卢恩。但是,因为在你嘎了之后,身上的卢恩会全部丢失,但是黄金卢恩不会丢。所以你想以足够升级为基础,尽可能少的获得多余的卢恩。
你需要求的是你捏掉的足够升级的黄金卢恩的价值总值。如果即使使用了所有的黄金卢恩仍不够升级,则输出 -1。

输入

升级还需要的卢恩数 R,以及黄金卢恩的种类数 N
接下来的 N 行中的每一行,会给出你拥有的这种黄金卢恩的个数 ni 和它的价值 vi

输出

你使用掉的足够升级的黄金卢恩的最小价值总值。如果即使使用了所有的黄金卢恩仍不够升级,则输出 -1。

样例输入 Copy

1000 2
1 200
4 300

样例输出 Copy

1100

提示

数据范围:
0 < R <= 10000, 0 < N <= 100, 0 < ni <= 10, 0 < vi <= 10000

样例说明:
你有 1 个价值 200 的黄金卢恩和 4 个价值 300 的黄金卢恩,为了升级你需要捏至少 1000 价值的黄金卢恩,但是显然你没法凑出整的 1000,所以你应该选择捏 1 个 200 的和 3 个 300 的,这样总量就是 1100,足够升级;并且相比捏 4 个 300 的黄金卢恩的 1200 卢恩,1100 显然更好(因为嘎了之后只会掉 100(1000 已经用来升级了))。所以答案是 1100。

来源/分类