陈老师的多校联合2009年武汉站D题 ||hdu 3033
来源:互联网 发布:去掉数组中重复的元素 编辑:程序博客网 时间:2024/05/18 00:40
http://acm.hdu.edu.cn/showproblem.php?pid=3233
Problem Description
Jiajia downloads a lot, a lot more than you can even imagine. Some say that he starts downloading up to 20,000 files together. If 20,000 files try to share a limited bandwidth then it will be a big hazard and no files will be downloaded properly. That is why, he uses a download manager.
If there are T files to download, the download manger uses the following policy while downloading files:
1. The download manager gives the smaller files higher priority, so it starts downloading the smallest n files at startup. If there is a tie, download manager chooses the one with less bytes remaining (for download). We assume that with at least 50 Mega Bytes/sec of bandwidth, n files can be downloaded simultaneously without any problem.
2. The available bandwidth is equally shared by the all the files that are being downloaded. When a file is completely downloaded its bandwidth is instantaneously given to the next file. If there are no more files left except the files that are being downloaded, this bandwidth is immediately shared equally by all remaining files that are being downloaded.
Given the size and completed percentage of each file, your task is to intelligently simulate the behavior of the download manager to find the total time required to download all the files.
If there are T files to download, the download manger uses the following policy while downloading files:
1. The download manager gives the smaller files higher priority, so it starts downloading the smallest n files at startup. If there is a tie, download manager chooses the one with less bytes remaining (for download). We assume that with at least 50 Mega Bytes/sec of bandwidth, n files can be downloaded simultaneously without any problem.
2. The available bandwidth is equally shared by the all the files that are being downloaded. When a file is completely downloaded its bandwidth is instantaneously given to the next file. If there are no more files left except the files that are being downloaded, this bandwidth is immediately shared equally by all remaining files that are being downloaded.
Given the size and completed percentage of each file, your task is to intelligently simulate the behavior of the download manager to find the total time required to download all the files.
Input
The will be at most 10 test cases. Each case begins with three integers T (1 <= T <= 20000), n (1 <= n <= 2000 and 1 <= n <= T) and B (50 <= B <= 1000). Here Bdenotes the total bandwidth available to Jiajia (In Megabytes/sec). Please note that the download manager always downloads n files in parallel unless there are less than n files available for download. Each of next T lines contains one non-negative floating-point number S (less than 20,000, containing at most 2 digits after the decimal places) and one integer P (0 <= P <= 100). These two numbers denote a file whose size is S megabyte and which has been downloaded exactly P% already. Also note that although theoretically it is not possible that the size of a file or size of its remaining part is a fraction when expressed in bytes, for simplicity please assume that such thing is possible in this problem. The last test case is followed by T=n=B=0, which should not be processed.
Output
For each case, print the case number and the total time required to download all the files, expressed in hours and rounded to 2 digits after the decimal point. Print a blank line after the output of each test case.
Sample Input
6 3 90100.00 9040.40 7060.30 7040.40 8040.40 8540.40 881 1 5612.34 1000 0 0
Sample Output
Case 1: 0.66Case 2: 0.00HintExplanationIn the first sample, there are 6 files and the download manager can download 3 files simultaneously. The size of the smallest file is 40.40 Megabyte but there are four such files (2nd, 4th, 5th and 6th files). So the download manager chooses the 6th, 5th and 4th files for download as they have less bytes remaining. All these files get equal bandwidth (30.00 Megabyte/Sec). Of these three files the 8th file is finished first. So instantaneously the 2nd file starts downloading. Then, 5th file is finished. So the next larger file (3rd file) starts downloading. This process goes on until all files are downloaded.
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int T,n,b;int main(){ int tt=0; while(~scanf("%d%d%d",&T,&n,&b)) { if(T==0&&n==0&&b==0) break; double p,q,sum=0; for(int i=0;i<T;i++) { scanf("%lf%lf",&p,&q); sum+=p*(100-q)/100; } printf("Case %d: %.2lf\n\n",++tt,sum/b); } return 0;}
0 0
- 陈老师的多校联合2009年武汉站D题 ||hdu 3033
- 陈老师的多校联合20140811||HDU 3236 ||2009年武汉站G题 01背包问题
- 陈老师的多校联合2010811c题||09年武汉站||hdu3232
- 陈老师的多校联合 D题 字符串处理起来挺麻烦
- 陈老师的多校联合 I题 二分
- 陈老师的多校联合 20140809 C题
- 陈老师的多校联合 20140808 E题
- 陈老师的多校联合 20140809
- 陈老师的多校联合20180808 map映射字符串
- 陈老师的多校联合20140815 ||uvalive 5881 区间处理
- 陈老师的多校联合20140816||spoj10237 bfs
- 陈老师的多校联合20140818||Uvalive 5683 模拟
- 陈老师的多校联合20140816A题||spoj 10228 动态规划
- UVALive 5691 二分图匹配||陈老师的多校联合20140818 J题
- 陈老师的多校联合20140816||SPOJ AMR11B 三角形的有向面积
- hdu 4649 Professor Tian 多校联合训练的题
- 2016年武汉科技大学邀请赛网络赛 D题
- 2013 多校联合2 D Vases and Flowers (hdu 4614)
- Labwindows/CVI下调用openCV实现多摄像头切换
- 母函数之Big Event in HDU hdoj 1171
- bnu36905 Nested Segments 离散化+线段树
- Android开发周围wifi热点和属性的获取
- 一些有用的数论知识。(莫比乌斯反演)
- 陈老师的多校联合2009年武汉站D题 ||hdu 3033
- POJ 1113 Wall 二维凸包
- hdu 2092 求整数解是否存在
- HDOJ题目2120 Ice_cream's world I(并查集)
- PHP语法自动检查的Vim插件
- UVA524- Prime Ring Problem
- android编程:解决异常“android.view.InflateException: Binary XML file line # : Error inflating class”
- 剑指Offer29数组中出现次数超过一半的数字
- VC6 python 扩展