#include <stdio.h>
int main() {
int n, t;
double a;
scanf("%d", &n);
double max = 0.0;
int b[n];
double m[n];
for (int i = 0; i < n; i++) {
scanf("%lf %d", &a, &t);
m[i] = a;
b[i] = t;
if (a * t > max)
max = a * t;
}
int max1 = (int)max;
int x [max1];
for (int i = 0; i < max1; i++) {
x[i] = 0;
}
for (int i = 0; i < n; i++) {
for (int j = 1; j <= b[i]; j++) {
if (x[(int)(m[i]*j)] == 0) {
x[(int)(m[i]*j)] = 1;
} else {
x[(int)(m[i]*j)] = 0;
}
}
}
for (int i = 0; i < max1; i++) {
if (x[i] == 1) {
printf("%d", i);
break;
}
}
return 0;
}
为什么我不去找max1,直接把x数组长度定义为2000001就对了