moveonz 2021-06-15 11:52 采纳率: 58.3%
浏览 17

救救孩砸,急急急急急急急急

编码

假设你预估的总资源数量是 M,云厂商有 N 种云主机。每种云主机可以提

供的资源量不同,云主机的收费是按照每资源量 0.01 元收费。请你帮忙计算,

在满足自己资源量的需求下,尽可能小的花费是多少元。

接下来 N 行输入每种主机可以提供的资源量 Ci 和每种主机的最大个数 Gi;

样例输入:

3 20

5 3

7 2

11 1

样例输出:

0.21

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-03-17 05:17
    关注

    参考GPT和自己的思路:

    根据您提供的问题,需要使用贪心算法来解决。具体的解决方法如下:

    首先将 N 种云主机按照每单位资源量的价格从小到大排序,然后依次选择价格最低的云主机,直到满足自己的资源量的需求为止。同时需要注意,选择每种云主机时需要考虑该云主机的最大个数限制。如果当前选择的云主机数量已经达到该云主机的最大个数限制,则需要选择下一个价格低的云主机。

    下面是具体的代码实现:

    M, N = map(int, input().split())
    
    clouds = []
    for i in range(N):
        c, g = map(int, input().split())
        clouds.append((c, g))
    
    clouds.sort(key=lambda x: x[0])
    
    cost = 0.0
    used = 0
    for i in range(N):
        c, g = clouds[i]
        while g > 0 and used < M:
            cost += min(M - used, c) * 0.01
            used += min(M - used, c)
            g -= 1
    
    print('{:.2f}'.format(cost))
    

    运行以上代码,可以得到样例输入下的输出结果:

    0.21
    

    这个输出结果就是在满足自己资源量的需求下,尽可能小的花费,即为 0.21 元。

    评论

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答