蓝桥杯上岸每日N题(鸡尾酒)

大家好 我是寸铁 希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注!

题目描述

某种鸡尾酒由 n 种饮品(编号 1∼n)混合调制而成。

在调制该鸡尾酒时,n种饮品必须严格按照 a1:a2:...:an的比例进行混合。

n种饮品的实际现有量分别为 b1,b2,...,bn升。

现在,请你用一个最大容积为 v

升的量杯来调制该鸡尾酒,利用此量杯一次可以调制出 0∼v升鸡尾酒。

由于时间有限,你只能调制一次。

请问,利用现有材料和给定量杯,你最多可以调制出多少升鸡尾酒。

注意:

调制出的鸡尾酒量不一定是整数。

由于只能调制一次,所以无论材料多么充裕,你都最多只能调制出 v 升鸡尾酒。

输入格式

第一行包含两个整数 n,v。

第二行包含 n个整数 a1,a2,...,an。

第三行包含 n个整数 b1,b2,...,bn。

输出格式

一个实数,表示可以调制出的鸡尾酒的最大量(单位:升)。

输出结果与正确答案的相对或绝对误差小于 10−4,则视为正确。

数据范围

前 4个测试点满足 1≤n≤2。

所有测试点满足 1≤n≤20,1≤v≤10000,1≤ai≤100,0≤bi≤100。

输入样例1:

1 100

1

40

输出样例1:

40.0

输入样例2:

2 100

1 1

25 30

输出样例2:

50.0

输入样例3:

2 100

1 1

60 60

输出样例3:

100.0

思路

按下面比例混合
a1:a2:a3:...:an

不妨已该比例ai作为变量
去计算可以取出来的公共体积 x
即
a1 *x + a2*x+ a3*x +...+ an*x = (a1 + a2 + a3 + ... +an) * x


  1. 对于每一 个**ai**有:
    ai * x <= bi (最多只能取bi升)
    即 0 < x <= bi / ai
  2. 对于所有 的ai有:
    sum+=a[i]
    sum * x <= v (最多只能取v升)
    即 0< x <= v / sum
    两者取交集即**x = min(x ,v / sum);**
    最后的答案:
    ans = x * sum

注意

x和 sum要取 double

题目允许存在小数部分,不取double,会wa

Accode

java 复制代码
import java.util.*;
public class Main{
    static int N = 30;
    static int a[] = new int[N];
    static int b[] = new int[N];
    public static void main(String []args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int v = sc.nextInt();
        for(int i = 1; i <= n; i++)a[i] = sc.nextInt();
        for(int j = 1; j <= n; j++)b[j] = sc.nextInt();
        double x = 0x3f3f3f3f , sum = 0;
        for(int i = 1; i <= n; i++){
            x = Math.min(x , (double)b[i]/a[i]);
            sum += a[i];
        }        
        x = Math.min(x , v / sum);
        System.out.println(x * sum);
    }
}

往期回顾

不清楚蓝桥杯考什么的点点下方👇

考点秘籍

想背纯享模版的伙伴们点点下方👇

蓝桥杯省一你一定不能错过的模板大全(第一期)

蓝桥杯省一你一定不能错过的模板大全(第二期)

蓝桥杯省一你一定不能错过的模板大全(第三期)

蓝桥杯省一你一定不能错过的模板大全(第四期)!!!

想背注释模版的伙伴们点点下方👇

蓝桥杯必背第一期

蓝桥杯必背第二期

往期精彩回顾

蓝桥杯上岸每日N题 第一期(一)!!!

蓝桥杯上岸每日N题第一期(二)!!!

蓝桥杯上岸每日N题第一期(三)!!!

蓝桥杯上岸每日N题第二期(一)!!!

蓝桥杯上岸每日N题第三期(一)!!!

蓝桥杯上岸每日N题 第四期(最少刷题数)!!!

蓝桥杯上岸每日N题 第五期(山)!!!

蓝桥杯上岸每日N题 第六期(求阶乘)!!!

蓝桥杯上岸每日N题 第七期(小猫爬山)!!!

蓝桥杯上岸每日N题 第八期 (全球变暖)!!!

蓝桥杯每日N题 (消灭老鼠)

蓝桥杯每日N题(杨辉三角形)

蓝桥杯每日N题 (砝码称重)

操作系统期末题库 第九期(完结)

LeetCode Hot100 刷题(第三期)

idea创建SpringBoot项目报错解决方案

数据库SQL语句(期末冲刺)

想看JavaB组填空题的伙伴们点点下方 👇

填空题

竞赛干货

算法竞赛字符串常用操作大全

蓝桥杯上岸必刷!!!(模拟/枚举专题)

蓝桥杯上岸必背!!! (第三期 DP)

蓝桥杯上岸必背!!!(第四期DFS)

蓝桥杯上岸必背!!!(第五期BFS)

蓝桥杯上岸必背!!!(第六期树与图的遍历)

蓝桥杯上岸必背!!!(第七期 最短路算法)

蓝桥杯上岸必背!!!(第八期 简单数论)

蓝桥杯上岸必刷!!!(进制、数位专题)

蓝桥杯上岸考点清单 (冲刺版)!!!

蓝桥杯上岸必背模板 (纯享版)

相关推荐
AC赳赳老秦26 分钟前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
钱栈up31 分钟前
mvn compile 卡死在 javac 阶段:一次类型不匹配的排查与修复
java·开发语言
吠品2 小时前
CSS图片模糊过渡:一个transition加filter就够
java·数据库·notepad++
朝朝辞暮i3 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
步行cgn3 小时前
Spring 全注解开发详解
java·后端·spring
青梅橘子皮3 小时前
Blue---二分算法(二分查找与二分答案)
算法
长河3 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
code2cat3 小时前
Java进阶篇之LongAdder:把统计更新分散,再读取总和
java·并发编程·原子类·longadder
月光船幽幽3 小时前
加性偏移外推提升参数识别可靠性
python·算法
凯哥Java3 小时前
写代码怎么避免逻辑漏洞?
java·开发语言·人工智能·自动化