题目链接
题目大意:两个人进行选举,现在有N个时间戳,每一个时间戳会给你两个人获得选票的比例,然后现在让你通过这些比例来推算出一共有多少选票,选票过程每个人的票数不会减少
思路:这个 就是思维吧,想清楚了就很好做了,之前思路卡在一共的票数上面,最后发现总共的票数虽然能够体现总比例之间的倍数关系,但是有的情况下并不符合单个人的倍数关系,
这个题目在计算多少多少的倍数的时候,注意一下取整就好了,
代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
int main()
{
int n;
scanf("%d",&n);
ll ans1=1,ans2=1;
ll a,b;
for(int i=1;i<=n;i++)
{
scanf("%lld%lld",&a,&b);
ll be=1;
if(a<ans1)
{
if(ans1%a==0) be=ans1/a;
else be=ans1/a+1;
}
if(b<ans2)
{
ll be1=1;
if(ans2%b==0) be1=ans2/b;
else
be1=ans2/b+1;
be=max(be,be1);
}
ans1=a*be;
ans2=b*be;
}
printf("%lld\n",ans1+ans2);
}