zoukankan      html  css  js  c++  java
  • 34-下载时间

    链接:https://www.nowcoder.com/acm/contest/121/B
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 32768K,其他语言65536K
    64bit IO Format: %lld

    题目描述

        黑猫在给校赛配环境,结果被服务器的各种入站规则出站规则搞得头疼,想到自己要上传GVIM、EMACS、VSCODE、Jetbrain全家桶、Visual Studio、Gedit、Microsoft Office Word、Eclipse等等,完全不知道要要花费多少时间才能上传完校赛需要的环境。

        黑猫跑去问ddjing,谁知道ddjing说:“我要去实习了,没功夫解决这个问题,你去问问其他人吧。“

        于是黑猫想请你帮他解决这个问题。

        服务器总传输速度为每秒M个单位(本题出现的所有单位都统一),黑猫现在需要上传总共n个软件(按优先级顺序从高到低给出),每个软件的大小分别为v1、v2….vn,每个软件为保持稳定连接,上传需要一个最小的传输速度为m1、m2…mn。

        服务器带宽分配的策略是:按优先级满足每一个软件要求的传输速度。如果服务器剩余的带宽不能满足某个软件最小传输速度的话,服务器将继续寻找下去,直到找到能满足最小传输速度的软件。

        如果目前服务器的总传输速度不能满足所有还需要上传的软件的话,服务器将把传输速度全部给予当前优先级最高的(即使不能满足其最小传输速度)。

        如果目前对所有软件都满足了其最小传输速度的话,服务器将把剩余所有传输速度全部给予当前优先级最高的软件。

        黑猫想把这些开始上传以后就去陪妹子玩了,所以他想知道需要多久才能把所有东西都上传完毕,好及时赶回机房摸鱼。

    输入描述:

    第一行给出一个正整数,表示服务器总带宽M
    第二行给出整数n,表示需要上传的n个软件。
    第三行为n个正整数,第i个数表示vi。
    第四行为n个正整数,第i个数表示mi。
    ( 1 <= M <= 1000, 1 <= n <= 100 , 1 <= vi <= 1000 , 1 <= mi <= 1000 )

    输出描述:

    输出一行,为上传完毕所有软件所需要的时间,保留两位小数。
    示例1

    输入

    10
    6
    1 1 4 5 1 4 
    10 9 8 7 6 5

    输出

    1.60
    示例2

    输入

    10
    6
    10 9 8 7 6 5
    1 1 4 5 1 4

    输出

    4.50
    思路:带宽一直再利用,都是满的(不管分配给那个文件),所以下载量一定是,下载时间就是固定的了
    #include <bits/stdc++.h>
    using namespace std;
    int v[1005];
    int m[1005];
    
    int main(){
        int M, n, x, sum = 0;
        cin >> M >> n;
        for(int i = 0; i < n; i++){
            cin >>  x;
            sum += x;
        }
        for(int i = 0; i < n; i++){
            cin >>  x;
        }
        printf("%.2lf
    ", 1.0 * sum / M);
        return 0;
    }
    

      

     
  • 相关阅读:
    九.Protobuf3特殊类型
    八.Protobuf3更新消息类型(添加新的字段)
    七.Protobuf3 嵌套类型
    六.Protobuf3引入其他.proto文件
    五.Protobuf3 枚举
    四.Protobuf3 缺省值
    VC 在调用main函数之前的操作
    Windows下的代码注入
    C 堆内存管理
    VC++ 崩溃处理以及打印调用堆栈
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/9032918.html
Copyright © 2011-2022 走看看