[GESP202412 七级] 武器购买

GESP编程共123题,本题是整站第1454题,已经有人完成了本题,加油!

题目描述

商店里有 n 个武器,第 i 个武器的强度为 pi​,花费为 ci​。

小杨想要购买一些武器,满足这些武器的总强度不小于 P,总花费不超过 Q,小杨想知道是否存在满足条件的购买方案,如果有,最少花费又是多少。

输入格式

第一行包含一个正整数 t,代表测试数据组数。

对于每组测试数据,第一行包含三个正整数 n,P,Q,含义如题面所示。

之后 n 行,每行包含两个正整数 pi​,ci​,代表武器的强度和花费。

输出格式

对于每组测试数据,如果存在满条件的购买方案,输出最少花费,否则输出 -1

输入输出样例

输入 #1

3
3 2 3
1 2
1 2
2 3
3 3 4
1 2
1 2
2 3
3 1000 1000
1 2
1 2
2 3

输出 #1

3
-1
-1

说明/提示

子任务编号 数据点占比 n pi​ ci​ P Q
1 20% ≤10 1 1 ≤10 ≤10
2 20% ≤100 ≤5×10^4 1 ≤5×10^4 2
3 60% ≤100 ≤5×10^4 ≤5×10^4 ≤5×10^4 ≤5×10^4

对于全部数据,保证有 1≤t≤10,1≤n≤100,1≤pi​,ci​,P,Q≤5×10^4。

别灰心,再试一次!

真题解析

【题目大意】有n个武器,每个武器有2种属性:强度和花费。买的武器强度要≥P,总花费≤Q。求满足条件下的最优花费。

【考纲知识点】动态规划知识

【解题思路】注意是多组测试数据,最多10组。可以没有答案,没答案时输出-1。按照题目要求,每个武器可选可不选,总花费不超过Q,相当于将01背包问题中的包的体积大小设置为 Q,此题是01背包类的问题。

本题的要点是熟悉01背包类型的动态规划求解。根据数据范围,注意结果是long long类型。

参考程序

本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。