最近,nono终于结束了每年一次的为期12个月的冬眠,醒来的第一件事就是——看电影!!nono发现最近一年出现了各种很好很强大的电影,例如这个、这个、还有这个。
于是nono直接把这些电影全部扔进了下载列表之中。已知nono下载了N部电影,其中第i部电影的大小为Si,该电影最大下载速度不会超过Vi,在任一时刻全部电影的下载速度之和不会超过Vt。现在nono希望知道在这些条件下至少需要多长时间才能将这些电影全部下完。
 

Input

多组输入。每组输入的第一行为两个整数N,Vt(0<N≤106, 0<Vt≤109)。接下来的N行每行两个整数表示Si, Vi(0<Si,Vi≤1000)。输入以EOF结束。
 

Output

对于每组数据,输出一个既约分数表示下载完全部电影所需的最少时间。

 

Sample Input

3 6
7 4
5 2
3 4
1 10
6 2

Sample Output

5/2
3/1

这道题一开始想复杂了,所有任务同时开始同时结束即可、比较单个任务的最长时间。 第一个版本测试的所有数据都没有问题,不知道哪里出的错总是WA
#include<stdio.h>
struct DongSer
{
int a;
int b;
};
struct DongSer d;
int da,db;
void sim(int i,int j)
{
int k=i-;
if(i==j){i=j=;}
if(i%j==){i=i/j;j=;da=i;db=j;return;}
if(j%i==){j=j/i;i=;da=i;db=j;return;}
while()
{
if(k==){da=i;db=j;return;}
if(i%k==&&j%k==){i=i/k;j=j/k;}
else {k--;}
}
} int main()
{
int i,j,k,n,vt;
double m,t,p;
while(scanf("%d%d",&n,&vt)!=EOF)
{
for(i=;i<=n;i++)
{
scanf("%d%d",&d.a,&d.b);
j+=d.a;
t=d.a/d.b;
if(t>p){p=t;k=i;da=d.a;db=d.b;}
}
m=j/vt;
if(m>=p){da=j;db=vt;sim(da,db);printf("%d/%d\n",da,db);}
if(m<p){sim(da,db);printf("%d/%d\n",da,db);}
i=j=k=n=vt=m=t=p=da=db=d.a=d.b=;
}
return ;
}
AC版本:
#include <iostream>
#include <cstdio>
using namespace std;
int n, vt;
int gcd (int a, int b)
{ while (b != )
{ int t; a %= b; t = a; a = b; b = t; }
return a;
}
int main ()
{ ios::sync_with_stdio(false);
while (cin >> n >> vt)
{ int sum = ; int rs = , rv = ;
for (int i = ; i < n; ++i)
{ int s, v;
cin >> s >> v; sum += s; if ((double)rs/rv < (double)s/v) { rs = s; rv = v; } } if ((double)rs/rv < (double)sum/vt) { rs = sum; rv = vt; } int k = gcd(rs, rv); cout << rs/k << "/" << rv/k << endl; } return ; }

暑假热身 B. 下载测速的更多相关文章

  1. 网络测速命令--speedtest

    网络测速 speedtest-cli 顾名思义,这个命令为网络测速命令,基于Python编写,测试系统网络的上传下载速度,GitHub托管的项目地址,以下列出常见的用法 安装命令 pip instal ...

  2. Linux下3种常用的网络测速工具

    大家好,我是良许. 不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生.本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络 ...

  3. LINUX利用Speedtest测速

    那么远程服务器呢?要知道大多数远程服务器是没有浏览器可以打开web页面的.用浏览器打开网页测速的瓶颈就在此,你不能按计划的对服务器进行定期的常规测试.这时需要到一个名为Speedtest-cli的软件 ...

  4. Centos7限速和测速

    限速 wondershaper是国外人开发的一款在Linux内核下基于TC工具的对整块网卡的限度工具. 第一种安装方法 首先下载wondershaper的rpm安装包:wondershaper-1.1 ...

  5. 混合线路接入时,360、QQ管家等测速显示电信IP或任意线路的IP

    最近很多人QQ上问我,我有电信.联通接入,用户测速的时候有的时候显示联通的IP,可是我想让他显示为电信的IP,怎么办? 3年前开始使用联通的线路时,就这样设置了,有些人还拿这个设置当宝贝了???? 其 ...

  6. 分析并实现 360 P1路由器上的测速功能(也可以针对金山测速功能)

    现在各种智能路由器以及一些PC上的防火墙软件,都提供网络测速功能.笔者对此进行了研究,并在自己的路由器上也实现了此功能.下面做一下总结 一般的网络测速,主要关注两个方面:网络延迟和下载速率 1.网络延 ...

  7. 网络测速神器:SpeedTest深度指南

    最近在测试一个项目,里面涉及到一个测试case:在linux服务器上,当网络带宽较差时,观察服务的消息处理能力和表现.限制网卡带宽有许多方法,比如Wondershaper或者ethtool.那验证限速 ...

  8. fio硬盘测速windows+linux

    一.FIO工具简介 Fio工具的介绍网上有很多,都是可以通用的,这里就不做太多个人描述了,直接借鉴一下 fio是一种I / O工具,用于基准测试和压力/硬件验证.它支持19种不同类型的I / O引擎( ...

  9. [ Arch Linux ] Arch更新源高速源整理之测速并自动排序高速源 加快更新效率

    方法一: 工具:rankmirrors 0x01 备份原来的源,并创建一个测试源 cd /etc/pacman.d cp mirrorlist mirrorlist.bakcp mirrorlist ...

随机推荐

  1. [Asp.net mvc]实体更新异常:存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。

    学习asp.net mvc 时在更新实体进行SaveChanges()的时候出现了异常,异常如下: “/”应用程序中的服务器错误. 存储区更新.插入或删除语句影响到了意外的行数(0).实体在加载后可能 ...

  2. 苹果开发者账号如何多人协作进行开发和真机调试XCode

    首先,先说明一下,我们最容易误解或者理解错误的是:p12证书. 其实p12证书,最直接的使用就是,我们在一台电脑上生成好了cer证书之后,如果使用了开发者账号(无论公司或者个人的)进行ipa进行打包和 ...

  3. COGS8 备用交换机

    备用交换机 ★★   输入文件:gd.in   输出文件:gd.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] n个城市之间有通讯网络,每个城市都有通讯交换机,直接或间 ...

  4. c++ 函数调用在进入下一个循环的时候会再次初始化参数,将函数体直接写进去就正常

    #include"stdafx.h" #include"string" #include<iostream> #include<vector& ...

  5. 如何获取xcassets中LaunchImage图片

    NSDictionary * dic = @{@"320x480" : @"LaunchImage-700", @"320x568" : @ ...

  6. getshell工具

    目前支持64种CMS系统!全自动采集URL 全自动getshell 自动验证!!!

  7. AngularJS小试牛刀

    总看别人说argularjs,knockoutjs,mvvm模式这些,光看不练假把式,于是便在自己的一个小网站上做了个简单的页面应用了下argularjs ,详细地址见 http://www.591j ...

  8. WinFrom 只启动一个exe,并且获得焦点

    只启动一个exe方法: using System; using System.Collections.Generic; using System.Runtime.InteropServices; us ...

  9. Android Studio-导入External Libraries

    1.导入本地Libraries 1 拷贝 gson-2.3.1.jar(gson-2.3.1.jar为例)到 app/libs 目录下 2 在app/build.gradle的 dependencie ...

  10. linux学习笔记 2013-09-02

    1,解压一个tar.gz文件夹 tar -xvzf  filename.tar.gz 2,删除一个文件夹下所有的文件 rm -rf * 3,安装文件 sudo apt-get install XXX. ...