CF42A
题意
给定两个序列 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的更多相关文章
随机推荐
- 【转】PANDAS 数据合并与重塑(concat篇)
转自:http://blog.csdn.net/stevenkwong/article/details/52528616 1 concat concat函数是在pandas底下的方法,可以将数据根据不 ...
- linux零基础之--常用命令
linux: 用户命令 linux 目录切换命令 linux文件命令 linux : vi编辑器 linux:打包压缩
- ThreadLocal源码深度剖析
ThreadLocal源码深度剖析 ThreadLocal的作用 ThreadLocal的作用是提供线程内的局部变量,说白了,就是在各线程内部创建一个变量的副本,相比于使用各种锁机制访问变量,Thre ...
- mysql基础之double,float长度标度定义
MySQL类型float double decimal的区别 float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都是浮点型,而decima ...
- 洛谷P4848 崂山白花蛇草水 权值线段树+KDtree
题目描述 神犇 \(Aleph\) 在 \(SDOI\ Round2\) 前立了一个 \(flag\):如果进了省队,就现场直播喝崂山白花蛇草水.凭借着神犇 \(Aleph\) 的实力,他轻松地进了山 ...
- GitHub基础使用指南
引言: 只要进行了一段时间的软件或者编程相关知识的学习,相信大家或多或少都会见过这只"猫猫",这可不是什么宠物店铺的商标,身为即将成为程序猿/媛的你,或者已经是一位程序猿/媛的你, ...
- spark bulkload 报错异常:Caused by: java.io.IOException: Added a key not lexically larger than previous
------------恢复内容开始------------ Caused by: java.io.IOException: Added a key not lexically larger than ...
- 第2章 HTML中的JavaScript
目录 1. script标签 1.1 标签位置 1.2 defer推迟执行脚本 1.3 async异步执行脚本 1.4 动态加载脚本 2. noscript标签 1. script标签 <scr ...
- NOIP初赛篇——07信息编码表示
一.基本概念 编码 计算机要处理的数据除了数值数据以外,还有各类符号.图形.图像和声音等非数值数据.而计算机只能识别两个数字0,1.要使计算机能处理这些信息,首先必须要将各类信息转换成0与1表示的 ...
- PHP 清除缓存文件
/*清除缓存文件*/ public function clearRuntime() { $this->delFileByDir(RUNTIME_PATH); $this->success( ...