最近,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. 序列化和反序列化的几种方式(DataContractSerializer)(二)

    DataContractSerializer 类 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档. 无法继承此类. 命名空间: System.Runtime.Serializati ...

  2. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

  3. 18.Android之SharedPreferences数据存储学习

    SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...

  4. 【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)

    转自:http://www.cnblogs.com/chouti/p/5752819.html Special Judge:当正确的输出结果不唯一的时候需要的自定义校验器 首先有个框架 #includ ...

  5. bzoj2096 pilots

    依旧是维护两个单调队列,只是队首检查的方式略有变动 /*by SilverN*/ #include<iostream> #include<algorithm> #include ...

  6. chroot详解

    我是一个刚接触 Linux 和 Unix 的新手.我该如何改变一个命令的根目录?我要怎样改变一个进程的根目录呢,比如用 chroot 命令将web服务与文件系统隔离?我要如何使用 chroot 恢复密 ...

  7. 新建android工程的时候eclipse没有生成MainActivity和layout布局

    一.新建android工程的时候eclipse没有生成MainActivity和layout布局 最近由于工作上的原因,开始学习Android开发,在入门的时候就遇到了不少的坑,遇到的第一个坑就是&q ...

  8. 详细解读MySQL中的权限

    一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪 些权限. 现在很多mysql用着root账户 ...

  9. 求任意长度数组的最大值(整数类型)。利用params参数实现任意长度的改变。

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. jdbc链接mysql转

    完整java开发中JDBC连接数据库代码和步骤   JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的 ...