比赛 202110省实验桐柏一中普及组联赛 评测结果 AAAAAAAAAW
题目名称 分数运算 最终得分 90
用户昵称 ydtz 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2021-10-18 19:06:18
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull n,m,ansz,ansm=1;
ull read(){
	ull w=0,f=1;
	char ch=getchar();
	while (ch>'9'||ch<'0'){
		if (ch=='-') f=-1;
		ch=getchar();
	}
	while (ch>='0'&&ch<='9'){
		w=(w<<3)+(w<<1)+(ch^48);
		ch=getchar();
	}
	return w*f;
}
ull gcd(ull x,ull y){
	if (y==0) return x;
	return gcd(y,x%y);
}
void add(ull x,ull y){
	ull zcm=y*ansm,zcz=x*ansm+y*ansz,k=gcd(zcm,zcz);
	ansz=zcz/k,ansm=zcm/k;
} 
int main(){
	freopen("fenshu.in","r",stdin);
	freopen("fenshu.out","w",stdout);
	n=read(),m=read();
	for (int i=1;i<=n;i++){
		ull a=read(),b=read();
		add(a,b);
	}
	for (int i=1;i<=m;i++){
		ull x=read();
		ansm*=x;
		ull k=gcd(ansz,ansm);
		ansz/=k,ansm/=k;
	}
	if (ansm==1) printf("%llu\n",ansz);
	else printf("%llu %llu\n",ansz,ansm);
	return 0;
}