#include <cstdio>
int main(){
int N; scanf("%d", &N);
long long A, B; scanf("%lld%lld", &A, &B);
for(int i = 1; i < N; i++){
int X, Y; scanf("%d%d", &X, &Y);
// Xa >= A, Ya >= B
// a >= A / X, a >= B / Y
long long Xa = A / X, Ya = B / Y;
if(X * Xa < A) Xa++;
if(Y * Ya < B) Ya++;
long long a = (Xa > Ya ? Xa : Ya);
A = X * a; B = Y * a;
}
printf("%lld\n", A + B);
return 0;
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:4:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int N; scanf("%d", &N);
^
./Main.cpp:6:44: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
long long A, B; scanf("%lld%lld", &A, &B);
^
./Main.cpp:9:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int X, Y; scanf("%d%d", &X, &Y);
^