比赛 |
202110省实验桐柏一中普及组联赛 |
评测结果 |
AAAAAAAAAW |
题目名称 |
分数运算 |
最终得分 |
90 |
用户昵称 |
求索 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2021-10-18 20:18:10 |
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
int p,q;
int n,m;
int ans_z,ans_m;
int gcd(int a,int b) {
if(a<b){
swap(a,b);
}
if(a%b==0) return b;
else return gcd(b,a%b);
}
int gcd1(int a,int b){
return a*b/gcd(a,b);
}
signed main(){
freopen("fenshu.in","r",stdin);
freopen("fenshu.out","w",stdout);
cin >> n >> m;
cin >> p >> q;
ans_z=p;
ans_m=q;
for(int i=2;i<=n;i++){
cin >> p >> q;
int k=gcd1(ans_m,q);
int k1=k/ans_m;
int k2=k/q;
ans_m=k;
ans_z=k1*ans_z+k2*p;
int v=gcd(ans_m,ans_z);
ans_m/=v;
ans_z/=v;
}
for(int i=1;i<=m;i++){
cin >> p;
if(ans_z%p==0){
ans_z=ans_z/p;
continue;
}
ans_m*=p;
}
int v=gcd(ans_m,ans_z);
ans_m/=v;
ans_z/=v;
if(ans_m==1){
cout << ans_z;
return 0;
}
cout << ans_z << " " << ans_m;
return 0;
}