Link:

ARC 062 传送门

C:

每次判断增加a/b哪个合法即可

并不用判断两个都合法时哪个更优,因为此时两者答案必定相同

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
ll n,a,b,x,y;
int main()
{
    scanf("%lld%lld%lld",&n,&a,&b);
    for(int i=1;i<=n-1;i++)
    {
        scanf("%lld%lld",&x,&y);
        ll a1=((a-1)/x+1)*x,b1=a1/x*y;
        ll b2=((b-1)/y+1)*y,a2=b2/y*x;
        if(a1>=a&&b1>=b) a=a1,b=b1;
        else a=a2,b=b2;
    }
    printf("%lld",a+b);
    return 0;
}
Problem C

相关文章:

  • 2022-02-07
  • 2021-09-17
  • 2022-02-07
  • 2021-06-24
  • 2021-05-19
  • 2022-01-02
  • 2021-12-03
  • 2021-10-16
猜你喜欢
  • 2022-02-10
  • 2021-07-14
  • 2021-12-14
  • 2022-01-18
  • 2021-09-23
  • 2022-12-23
  • 2021-12-23
相关资源
相似解决方案