A3843 | 【贪心】【入门】【宝藏】
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
有一天,小明赶着一头小毛驴上山砍柴,砍柴时无意间发现一个山洞,洞中堆满了金银珠宝。小明深信这些宝物肯定是一个强盗们掠夺所积累起来的,他准备把这些宝物拿走分给穷人。但是小毛驴只能运载重量为w的物品。山洞中宝物有s个种类, 每种宝物重量不同,分别为n1,n2,...,ns,同时每个种类的宝物总的价值也不同,分别为v1,v2,...,vs。小明想一次带走价值尽可能多的宝物,问他最多能带走价值多少的宝物。注意:宝物是可以被任意分割的,并且宝物的价值和其重量成正比。
输入格式
第1行是测试数据的组数k,后面跟着k组输入。
每组测试数据占3行,第1行是一个正整数 w(1≤w≤10000),表示小毛驴的承重上限。第2行是一个正整数 s(1≤s≤100),表示宝物种类。第3行有 $2\times s$ 个正整数,分别为$n_{1},v_{1},n_{2},v_{2},...,n_{s},v_{s}$分别为第一种,第二种,...,第s种宝物的总重量和总价值 $(1≤n_{i}≤10000,1≤v_{i}≤10000)$。
每组测试数据占3行,第1行是一个正整数 w(1≤w≤10000),表示小毛驴的承重上限。第2行是一个正整数 s(1≤s≤100),表示宝物种类。第3行有 $2\times s$ 个正整数,分别为$n_{1},v_{1},n_{2},v_{2},...,n_{s},v_{s}$分别为第一种,第二种,...,第s种宝物的总重量和总价值 $(1≤n_{i}≤10000,1≤v_{i}≤10000)$。
输出格式
k行,每行输出对应一个输入。输出应精确到小数点后2位。
输入输出样例
输入 #1
2 50 4 10 100 50 30 7 34 87 100 10000 5 1 43 43 323 35 45 43 54 87 43
输出 #1
171.93 508.00
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?