U510194 【衔接赛】团队合作中的资源分配
题目背景
在一个创业团队中,团队成员们共同完成了一个项目,并获得了丰厚的回报。为了公平分配这些回报,团队决定根据每个成员的贡献比例进行分配。每个成员的贡献值用一个整数表示,团队希望计算每个成员应得的回报比例。
题目描述
给定一个包含 $n$ 个整数的数组 $a_1, a_2, \cdots, a_n$,表示每个团队成员的贡献值。团队希望计算每个成员应得的回报比例 $P_i$,定义如下:
$P_i=(a_1⋅a_2⋅a_3⋯a_n)/a_i$
也就是说,$P_i$ 是所有成员贡献值的连乘积除以第 $i$ 个成员的贡献值。为了简化计算,团队决定将每个 $P_i$ 对 $100007$ 取模后作为最终的分配比例。
输入格式
- 第一行包含一个整数 $n$,表示团队成员的数量。
- 第二行包含 $n$ 个整数 $a_1, a_2, \cdots, a_n$,表示每个成员的贡献值。
输出格式
- 输出一行,包含 $n$ 个整数,表示每个成员的分配比例 $P_i$ 对 $100007$ 取模后的结果,以空格分隔。
输入输出样例 #1
输入 #1
4
1 3 4 6
输出 #1
72
24
18
12
说明/提示
测试点编号 | $n \leq$ | $a_i \leq$ | 特殊性质 |
$1 \sim 3$ | $10$ | $10$ | 无 |
$4 \sim 6$ | $10$ | $20$ | 无 |
$7 \sim 10$ | $5000$ | $2000$ | 无 |
$11 \sim 13$ | $100000$ | $2$ | 无 |
$14 \sim 16$ | $100000$ | $10000$ | $A$ |
$17 \sim 20$ | $100000$ | $10000$ | 无 |
- 特殊性质 $A$:保证 $a_i$ 全部是相同的元素;
- 保证所有的 $2\leq n , 1 \leq a_i$。
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[100010],n,b[100010];
long long tot=1,ans=0,c;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
tot*=a[i]%100007;
}
for(int i=1;i<=n;i++){
cout<<tot/a[i]%100007<<"\n";
}
return 0;
}
代码不对,求调,关注+点赞,在线的急