本文共 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/