zoukankan      html  css  js  c++  java
  • 充电

    充电
    Time Limit: 1000 MS Memory Limit: 32768 K
    Total Submit: 97(45 users) Total Accepted: 49(42 users) Rating: Special Judge: No
    Description

    玻璃小屋内有n个插排,屋内有 m 个需要供电的机器,并且墙上有k个可以直接使用的插口。知道了每个插排上的插口的个数,并且所有的插头和插口都是可以匹配的。问你最少用几个插排可以让所有机器都供上电?

    Input

    多组测试数据,每组第一行输入n, m, k。(1 ≤ n, m, k ≤ 50)

    第二行有n个数,分别表示每个插排上插口的个数。

    Output

    输出最少需要几个插排。如果有电器无法充上电则输出-1。

    每组输出占一行。

    Sample Input
    3 5 3 3 1 2 4 7 2 3 3 2 4 5 5 1 1 3 1 2 1
    Sample Output

    1

    2

    -1

    Author
    曾卓敏 @hrbust
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<math.h>
    using namespace std;
    int a[55];
    bool cmp(int x,int y)
    {
        return x>y;
    }
    int main()
    {
        int n,m,k;
        while(~scanf("%d%d%d",&n,&m,&k))
        {
            int i;
            int ans=0;
            for(i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
                ans+=a[i];
            }
            if(m<=k)
            {
                printf("0
    ");
            }
            else if(ans+k-n<m)
            {
                printf("-1
    ");
            }
            else
            {
                sort(a,a+n,cmp);
                int sum=k;
                int key=0;
                for(i=0;i<n;i++)
                {
                    key++;
                    sum=sum+a[i]-1;
                    if(sum>=m)
                    {
                        printf("%d
    ",key);
                        break;
                    }
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    2018 校招在线编程 20题-01
    ubuntu 配置muduo库
    plsql远程访问配置
    web开发转发和重定向大比拼
    Eclipse中svn同步忽略设置
    静态方法、实例方法和域
    接口中的域
    屏蔽所有异常的方法
    使用axis2时在temp文件产生大量缓存
    spring boot redis分布式锁 (转)
  • 原文地址:https://www.cnblogs.com/beige1315402725/p/5014137.html
Copyright © 2011-2022 走看看