题意

给定两个序列 a 和 b。

序列 a 中的各个数之间的比例可以得出一个 x 。

当 b 中比例满足 a 中比例,即 \(b_1\):\(b_2\):\(b_3\)…… \(=\) \(a_1\):\(a_2\):\(a_3\)……时,可以得出一个数 $x * \dfrac{b}{a} $。


分析

因为这是做汤按照一定比例才能得出一个与 x 成倍数关系的数

所以我们可以知道,如果有一个数与其他的数不成比例且小于其他数时,整个数列得出的数都会被那个数影响

所以我们先找出所有的 b/a 里面最小的那个,因为他决定了结果的大小。

然后让整个数列都以这个最小比例做汤求 x 。

另外,他给定了锅的大小也就是 x 的上限 v ,所以得出的那个数如果超过 v ,那就要把它赋值成 v 就好了。

注意:他要求你的数要与他的答案的差值大小不超过十的负四次方,也就是要你至少精确到小数点后四位


代码

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#define maxn 300050
#define maxm 1010 using namespace std; int n;
double v,a[maxn],b[maxn],x[maxn]; int main(){
cin>>n>>v;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i];
for(int i=1;i<=n;i++){
x[i]=b[i]/a[i];
}
sort(x+1,x+n+1);我开了一整个数组来求一个最小值有点浪费,其实可以通过边求边比的方法取;
double ans=0.0;
for(int i=1;i<=n;i++){
ans+=x[1]*a[i];
}
ans=min(ans,v);
printf("%.4lf",ans);
return 0;
}

制作不易,不喜勿喷。

CF42A的更多相关文章

随机推荐

  1. mybatis实现MySQL数据库的增删改查之二

    这里直接附上代码: 1 package com.qijian.pojo; 2 3 import org.apache.ibatis.type.Alias; 4 5 6 public class Use ...

  2. [LeetCode]92. Reverse Linked List II反转部分链表

    /* 重点还是反转链表 思路就是中间的反转,然后两头接上 */ public ListNode reverseBetween(ListNode head, int m, int n) { if (he ...

  3. 记一次由于引用第三方服务导致的GC overhead limit exceeded异常

    最近笔者遇到一个问题  监控平台忽然告警 GC overhead limit exceeded 这个异常 第一反应估计是堆溢出了.于是各种各种jmap  jstack下载堆栈文件和堆日志文件. 以下是 ...

  4. Python强大的日志模块logging

    前言 日志是对于软件执行所发生的事件的一种追踪记录方式.日常使用过程中对代码执行的错误和问题会进行查看日志来分析定位问题所在.平常编写代码以及调试也经常用到.通常的新手的做法是直接print打印,但是 ...

  5. android 百度地图 团队开发及正式apk发布

    百度地图开发关键是获取正确的API Key,  百度官网写的只是在你本地的机器能运行 你把AndroidManifest.xml(这里是最新的v2_4_1,API Key配置在这里) svn 提交后  ...

  6. Vue3.0聊天室|vue3+vant3仿微信聊天实例|vue3.x仿微信app界面

    一.项目简介 基于Vue3.0+Vant3.x+Vuex4.x+Vue-router4+V3Popup等技术开发实现的仿微信手机App聊天实例项目Vue3-Chatroom.实现了发送图文表情消息/g ...

  7. 使用OpenCV进行简单的人像分割与合成

    图像合成 实现思路 通过背景建模的方法,对源图像中的动态人物前景进行分割,再将目标图像作为背景,进行合成操作,获得一个可用的合成影像. 实现步骤如下. 使用BackgroundSubtractorMO ...

  8. ReentrantLock-源码解析

    ReentrantLock类注释 1.可重入互斥锁,意思是表示该锁能够支持一个线程对资源的重复加锁,该锁还支持获取锁的公平和非公平性选择.synchronized关键字隐式的支持重进入. 2.可以通过 ...

  9. Redis 5 配置 Redis sentinel(哨兵模式)

    先了解一下哨兵都 做了什么工作:Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: * 监控(Monitoring): Sentin ...

  10. Python基础语法4-运算符

    Python提供了一系列丰富的运算符,包括:  Ø算术运算符  Ø赋值运算符  Ø关系运算符  Ø逻辑运算符 Ø位运算符  Ø三元运算符 Ø身份运算符 Ø成员运算符