zoukankan      html  css  js  c++  java
  • 初赛第五场A

    UCloud 刚刚建立一个新机房,近日正在进行网络搭建。机房内有 n 台服务器和m个分线器,整个机房只有一个网线出口。分线器的作用是将一根网线转换成多根网线。蒜头君也知道每个分线器输出的最大网线根数(不一定要将分线器输出的每根线都用上),问你至少需要使用多少个分线器才能使得每台服务器都有网线可用。

    输入格式

    第一行输入 n,m(0≤n,m≤100)

    第二行输入包含 m个整数的数组 A(0≤Ai≤10)i​​10) 表示每个分线器输出的最大网线根数。

    输出格式

    输出最少需要的分线器数量。若不能使得所有服务器都有网线可用,输出一行Impossible

    样例输入

    10 4
    2 7 2 3

    样例输出

    3

    思路:看完题目就开始敲了,然后忘记0,1的情况,懵逼30分钟,才发现,心态蹦了
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int a[103];
     4 int main(){
     5     int n,m;
     6     scanf("%d%d",&n,&m);
     7     for(int i=1;i<=m;i++){
     8         scanf("%d",&a[i]);
     9     }
    10     if(n==0||n==1){
    11         cout<<0<<endl;return 0;
    12     }
    13     sort(a+1,a+1+m);
    14     int sum=a[m];
    15     if(sum>=n){
    16         cout<<1<<endl;return 0;
    17     }
    18     int ss=1;
    19     for(int i=m-1;i>=1;i--){
    20         sum+=a[i]-1;
    21         ss=ss+1;
    22         if(sum>=n){
    23             cout<<ss<<endl;return 0;
    24         }
    25     }
    26     printf("Impossible
    ");
    27     return 0;
    28 }
  • 相关阅读:
    软件-集成开发环境:IDE
    框架-Eureka:初识 Eureka
    框架:Rureka
    计算机系统-组件:DS(目录服务)
    院校-美国-麻省理工学院(MIT):百科
    院校-国外-美国-斯坦福大学( Stanford):百科
    院校:目录
    杂项:院校
    网络:万维网(WWW)
    词语辨析
  • 原文地址:https://www.cnblogs.com/hhxj/p/6953801.html
Copyright © 2011-2022 走看看