题目描述:
晋察冀根据地后勤部门需将有限的救灾小米分配给多个受灾村庄,需按量化规则计算每个村庄的实际分配量,并筛选出「人均实际分配量最高」的最优村庄(即资源利用效率最高的村庄),规则如下。
核心计算规则:
1. 基础参数定义:
l村庄数量:m(2≤m≤5);
l总小米数量:S(斤,1000≤S≤5000,且能被所有村庄受灾总人数整除);
l每个村庄含 3 个固定参数:受灾人数(P)、优先级(L:1/2/3 级,1 级最高)、运输损耗率(R:仅 5/10/15%)。
2. 分步计算逻辑:
① 人均基础量 = 总小米 S ÷ 所有村庄受灾总人数(因 S 可整除总人数,结果为整数);
② 单村庄基础分配量 = 该村庄受灾人数 × 人均基础量;
③ 优先级调整(结果为整数):
l1 级:调整后量 = 基础分配量 × 1.2;
l2 级:调整后量 = 基础分配量 × 1.0(不变);
l3 级:调整后量 = 基础分配量 × 0.8;
④ 运输损耗调整(实际分配量,结果为整数):
l损耗率 5%:实际量 = 调整后量 × 95%;
l损耗率 10%:实际量 = 调整后量 × 90%;
l损耗率 15%:实际量 = 调整后量 × 85%。
3. 最优村庄判定规则:
l人均实际量 = 该村庄实际分配量 ÷ 该村庄受灾人数;
l最优村庄 = 人均实际量最大的村庄;若多个村庄人均值并列最大,取编号最小的村庄(村庄编号从 1 开始)。
输出要求:
第一行:m 个整数(空格分隔),依次为村庄 1~m 的实际分配量;
第二行:1 个整数,最优村庄的编号;
第三行:1 个浮点数,该最优村庄的人均实际量(保留 2 位小数)。
输入格式:
第 1 行:整数 m(村庄数量,2≤m≤5);
第 2 行:整数 S(总小米数量,1000≤S≤5000);
第 3 行:m 个整数(空格分隔),依次为村庄 1~m 的受灾人数 P(50≤P≤500);
第 4 行:m 个整数(空格分隔),依次为村庄 1~m 的优先级 L(仅 1/2/3);
第 5 行:m 个整数(空格分隔),依次为村庄 1~m 的运输损耗率 R(仅5/10/15)。
输出格式:
第 1 行:m 个整数,空格分隔;
第 2 行:整数(最优村庄编号);
第 3 行:浮点数(保留 2 位小数)。
样例输入 1: 3 3600 200 300 100 1 2 3 10 10 10 | 样例输出 1: 1296 1620 432 1 6.48 |
样例解析 1
① 总受灾人数 = 200+300+100=600 → 人均基础量 = 3600÷600=6 斤 / 人;
② 基础分配量:村 1=200×6=1200、村 2=300×6=1800、村 3=100×6=600;
③ 优先级调整:村 1(1 级)=1200×1.2=1440、村2(2 级)=1800、村 3(3 级)=600×0.8=480;
④ 损耗调整(10%):村1=1440×0.9=1296、村2=1800×0.9=1620、村 3=480×0.9=432;
⑤ 人均实际量:村 1=1296÷200=6.48、村 2=1620÷300=5.4、村 3=432÷100=4.32 → 最优村为 1 号。
样例输入 2: 2 2000 100 100 2 2 5 15 | 样例输出 2: 950 850 1 9.50 |
样例输入 3: 4 4000 100 100 100 100 1 1 2 3 10 10 10 10 | 样例输出 3: 1080 1080 900 720 10.80 |
数据范围:
所有输入参数均为合法整数,无空值 / 非法值;
S 能被总受灾人数整除,所有计算步骤结果均为整数(无需额外取整);
损耗率仅为 5/10/15,优先级仅为 1/2/3,无其他值。
参考答案:



详情见:懂了啵驿站