最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 金银岛

    正文概述 陈老师   2026-01-20 15:39:14  

    题目描述

    某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。

    岛上金属有ss个种类, 每种金属重量不同,分别为 w1,w2,...,wsw_1,w_2,...,w_s ,同时每个种类的金属总的价值也不同,分别为 v1,v2,...,vsv_1,v_2, ..., v_s

    KID想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。注意到金属是可以被任意分割的,并且金属的价值和其重量成正比。

    输入

    第1行是测试数据的组数tt,后面跟着tt组输入。

    每组测试数据占3行,第1行是一个正整数n(1n10000)n(1≤n≤10000),表示口袋承重上限。

    第2行是一个正整数 s(1s100)s(1≤s≤100) ,表示金属种类。

    第3行有 2s2s 个正整数,分别为w1,v1,w2,v2,...,ws,vsw_1,v_1,w_2,v_2,...,w_s,v_s分别为第一种,第二种,...,第 ss 种金属的总重量和总价值 (1wi10000,1vi10000)(1≤w_i ≤10000,1≤v_i≤10000)

    输出

    kk 行,每行输出对应一个输入。输出应精确到小数点后 22 位。

    样例

    2
    50
    4
    10 100 50 30 7 34 87 100
    10000
    5
    1 43 43 323 35 45 43 54 87 43
    
    171.93
    508.00
    
    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 金银岛