A3843. 【贪心】【入门】【宝藏】
编程题
入门
知识点
题目描述
有一天,小明赶着一头小毛驴上山砍柴,砍柴时无意间发现一个山洞,洞中堆满了金银珠宝。小明深信这些宝物肯定是一个强盗们掠夺所积累起来的,他准备把这些宝物拿走分给穷人。但是小毛驴只能运载重量为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