Bestcoder#5 1002
Bestcoder#5 1002
Poor MitsuiTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 336 Accepted Submission(s): 70
Problem Description
Because of the mess Mitsui have made, (not too long ago, Mitsui, leading a group of bully guys, intended to make some trouble and damage to the basketball team.) he was punished to mop the floor this week. And he needs to get some water first.
He takes N broken buckets to get some water. When he turns on the water-tap, the water begins to fill in at a speed V unit water per second.(And this speed will always be V.) As the buckets is broken, when there is water in the bucket, water begins to flow away at a certain speed. Each bucket has its own speed. At a time, there can only be one bucket to receive water from the water-tap, but at the same time water still flows away from the buckets (those contains water at that moment).
We don’t allow a bucket to receive water from the water-tap for more than once or receive water from other buckets. And we assume that Mitsui can change the position of the buckets in a very short time (we can ignore the time it takes) and the capacity of each backet is so large that it can’t be fulfilled.
Now Mitsui wonders can there be a moment that each bucket is filled with a specific volunm of water. If it’s possible, find the earliest one, otherwise he will just go home in a bad mood.
Input
This problem contains multiple tests.
The first line contains a number T (1 ≤ T ≤ 150), which tells the total number of test cases.
Each test consists of three lines, the first line contains two integers, N and V. (1 ≤ N ≤ 40, 1 ≤ V ≤ 40). N tells the number of buckets and V tells the speed of water come out of the water-tap. In the second line, there are N integers, Ai (1 ≤ Ai ≤ 40) is the speed of water flow away from the i-th bucket. In the third line, there are N interges, Bi (0 ≤ Bi ≤ 40) is the volunm of water that Mitsui wants the i-th bucket to contain at that special moment.
Output
This problem is intended to use special judge. But so far, BestCoder doesn’t support special judge. So if it’s possible for Mitsui to optimize his movement to make that happen, you should output a number which tells the earliest time that might happen since Mitsui turns on the water-tap, rounded it into an integer, otherwise just output -1 instead.
Sample Input
23 31 1 32 2 23 31 1 12 2 2
Sample Output
-15
Hint
In the first example, Mitsui can’t make that happen no matter how he arranges the order of the buckets to receive water from the water-tap. So the answer is -1.In the second example, Mitsui can make that happen in 4.75 seconds. And that is the optimal answer. So you should output 5. Please note, If the accurate answer is X, you are recommended to use printf(“%.0f\n”, X) to output the answer in C++.
#include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<cmath> #include<map> #include<algorithm> #define M(a,b) memset(a,b,sizeof(a)) using namespace std; int T; int N; double V; double time[]; struct bow { double A,B; bool operator < (const bow& rhs) const { return B/A>rhs.B/rhs.A; } }bo[]; int main() { scanf("%d",&T); while(T--) { scanf("%d%lf",&N,&V); for(int i = ;i<N;i++) { scanf("%lf",&bo[i].A); } for(int i = ;i<N;i++) { scanf("%lf",&bo[i].B); } sort(bo,bo+N); double res = ; int flag = ; for(int i = N-;i>=;i--) { if(bo[i].B==) continue; //不明白为什么需要加上这一句,没理由啊,求hack bo[i].B += bo[i].A*res; if((bo[i].A>=V&&bo[i].B!=)||bo[i].B/(V-bo[i].A)<) {flag = ; break;} res+= bo[i].B/(V-bo[i].A); //cout<<res<<endl; } if(!flag) {puts("-1"); continue;} printf("%.0lf\n",res); } return ; }
Bestcoder#5 1002的更多相关文章
- bestcoder#23 1002 Sequence II 树状数组+DP
Sequence II Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDOJ 4884 & BestCoder#2 1002
TIANKENG’s rice shop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 暴力+降复杂度 BestCoder Round #39 1002 Mutiple
题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...
- 矩阵快速幂---BestCoder Round#8 1002
当要求递推数列的第n项且n很大时,怎么快速求得第n项呢?可以用矩阵快速幂来加速计算.我们可以用矩阵来表示数列递推公式比如fibonacci数列 可以表示为 [f(n) f(n-1)] = [f(n ...
- BestCoder #47 1001&&1002
[比赛链接]cid=608">clikc here~~ ps:真是wuyu~~做了两小时.A出两道题,最后由于没加longlong所有被别人hack掉!,最后竟然不知道hack别人不成 ...
- BestCoder Round #92 1002 Count the Sheep —— 枚举+技巧
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1002 题解: 做题的时候只是想到 ...
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...
- 简单几何(水)BestCoder Round #50 (div.2) 1002 Run
题目传送门 /* 好吧,我不是地球人,这题只要判断正方形就行了,正三角形和正五边形和正六边形都不可能(点是整数). 但是,如果不是整数,那么该怎么做呢?是否就此开启计算几何专题了呢 */ /***** ...
- Manacher BestCoder Round #49 ($) 1002 Three Palindromes
题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...
随机推荐
- 【记录】Ubuntu下安装VirtualBox
之前换了新硬盘,重装了ubuntu,由于学习需要还是要装个虚拟机.以前用过VMWare真的是神卡,这次换VirtualBox,希望开源社区能给我带来曙光:) 添加VirtualBox的源并安装5.1版 ...
- fixed数据类型
在处理图形运算,特别是3D图形生成运算时,往往要定义一个Fixed数据类型,我称它为定点数,定点数其时就是一个整形数据类型,他的作用就是把所有数 进行转换,从而得到相应类型的整型表达,然后使用定点数进 ...
- 菜鸟git学习
基础知识: 安装github之后,所有的命令在git shell 中输入. E:\文档\GitHub [master +2 ~0 -0 !]> cd [ToDoList]E:\文档\GitHub ...
- 关于label的点击事件(原创)
通常做网页时不会用radio和checkbox的原有样式,通常会进行样式美化,手机端我用的jqurey weui框架,他的原理是这样的: <label class="check_lab ...
- struts2.5的配置及其注意事项
坑爹的apache,官方的jar包提供了一个struts2的运行最小jar包
- Matlab中^2和.^2的区别
矩阵a a^2 -- 两个矩阵相乘 a.^2 -- 表示 矩阵对应位置相乘 如下: a=[ 1,2,3 4,5,6 7,8,9]; disp(a); disp(a^2); disp(a.^2); ...
- 【翻译】XV6-DRAFT as of September 3,2014 第0章 操作系统接口
操作系统接口 操作系统的任务是让多个程序共享计算机(资源),并且提供一系列基于计算机硬件的但更有用的服务.操作系统管理并且把底层的硬件抽象出来,举例来说,一个文字处理软件(例如word)不需要关心计算 ...
- c# treeview 基本知识
private void Form1_Load(object sender, EventArgs e) { BindTreeView(); treeView1.Focus(); treeView1.G ...
- bzoj2702[SDOI2012]走迷宫
题意:给你一个有向图,点数10000,边数1000000,SCC大小不超过100(按数据范围的写法只有第三部分数据满足这个条件,不过第二部分数据并没有出现大小大于100个点的SCC,我是用数组大小为1 ...
- Scrum Meeting
本周Sprint Master 侯宇泰 一. 工作完成内容记录 & 明日计划 · 陈双: 完成内容: 1. 做了一个英语趣配音的用户评价调研 2. 上传了一个新视频 明日计划: 1. 与前端录 ...