博客
关于我
UPC 2020年秋季组队训练赛第十一场
阅读量:535 次
发布时间:2019-03-08

本文共 962 字,大约阅读时间需要 3 分钟。

根据题目要求,我们需要将给定的奖金按每个问题的数量进行分配。具体来说,我们需要计算每个问题的奖金,然后根据每个团队成员解决的问题数量来分配奖金。

解决方案

  • 读取输入数据:首先读取团队成员的数量 n 和总奖金 d。然后读取每个团队成员解决的问题数量。
  • 计算总问题数:将所有团队成员解决的问题数量求和,得到总问题数 total_problems。
  • 计算每个问题的奖金:用总奖金 d 除以总问题数 total_problems,得到每个问题的奖金 per_problem。
  • 分配奖金:对于每个团队成员,计算他们的奖金,即每个问题的奖金乘以他们解决的问题数量,并输出结果。
  • 代码实现

    #include 
    #include
    using namespace std;int main() { int n, d; cin >> n >> d; vector
    problems(n); for (int i = 0; i < n; ++i) { cin >> problems[i]; } int total_problems = 0; for (int p : problems) { total_problems += p; } int per_problem = d / total_problems; for (int p : problems) { cout << per_problem * p << endl; } return 0;}

    代码解释

    • 读取输入:使用 cin 读取输入数据。首先读取 n 和 d,然后读取 n 个问题数量。
    • 计算总问题数:遍历每个团队成员的问题数量,将它们累加,得到 total_problems。
    • 计算每个问题的奖金:用 d 除以 total_problems,得到每个问题的奖金 per_problem。
    • 分配奖金并输出:遍历每个团队成员,计算他们的奖金并按顺序输出。

    该方法确保了每个问题的奖金能够被整除,并且按照题目要求分配给每个团队成员。代码的时间复杂度为 O(n),能够在给定的约束下高效运行。

    转载地址:http://ncfiz.baihongyu.com/

    你可能感兴趣的文章
    python基础之---函数式编程
    查看>>
    python基础之---函数
    查看>>
    Python基础之(一)基本数据类型
    查看>>
    Python基础【os】
    查看>>
    Python基础——面向对象
    查看>>
    Python基础——线程锁
    查看>>
    python基础——线程与进程
    查看>>
    Python基础——构造方法和特殊成员方法
    查看>>
    Python基础——多线程值从Thread类继承
    查看>>
    Python基础——多线程之信号量
    查看>>
    Python基础——_thread多线程
    查看>>
    Python基础——Thread类与线程对象
    查看>>
    Python基础——Thread创建管理多线程
    查看>>
    Python基础——SQLite数据库基本操作
    查看>>
    Python基础——MySQL数据库基本操作
    查看>>
    Python基础_列表 list
    查看>>
    python系列【仅供参考】:python异步库调用gevent和asyncio对比
    查看>>
    python基础3
    查看>>
    Python基础08 面向对象的基本概念
    查看>>
    Python基础-函数篇
    查看>>