@[Cx114514](/user/661641) 你猜你为什么输出负数
```cpp
#include <bits/stdc++.h>
#define int __int128
using namespace std;
int read()
{
int f = 1;
char c = getchar();
while (!isdigit(c))
{
if (c == '-') f = -1;
c = getchar();
}
int x = 0;
while (isdigit(c))
{
x = x * 10 + c - '0';
c = getchar();
}
return x * f;
}
int buf[45];
void write(int x)
{
int p = 0;
if (x < 0)
{
putchar('-');
x = -x;
}
if (x == 0) putchar('0');
else
{
while (x)
{
buf[++p] = x % 10;
x /= 10;
}
for (int i = p; i >= 1; i--)
putchar('0' + buf[i]);
}
}
int n, m[100005], p[100005];
int exgcd(int a, int b, int &x, int &y)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
int g = exgcd(b, a % b, y, x);
y -= (a / b) * x;
return g;
}
signed main()
{
n = read();
for (int i = 1; i <= n; i++)
p[i] = read(), m[i] = read();
for (int i = 2; i <= n; i++)
{
int x, y;
int g = exgcd(p[i - 1], p[i], x, y);
x *= ((m[i] - m[i - 1]) / g);
y *= ((m[i] - m[i - 1]) / g);
p[i] = p[i - 1] * p[i] / g;
m[i] = ((m[i - 1] + p[i - 1] * x) % p[i] + p[i])%p[i];
}
write((m[n] % p[n] + p[n]) % p[n]);
putchar('\n');
return 0;
}
```
by LgxTpre @ 2023-06-03 21:45:32
@[Cx114514](/user/661641) 既然是妹子,就和我??,??完就帮你调
by Antiluna @ 2023-06-03 21:45:45
@[LgxTpre](/user/66709) 已解决,关注了
by Cx114514 @ 2023-06-03 21:48:46
一七年老年人路过:
世界再怎么熙攘,你谷永远是那年的模样。
外面的梗和热词换了一个又一个了,这里却像一个活化石,或者说是世外桃源,仿佛和外界隔绝了一样。
by Kai_Admin @ 2023-06-03 22:52:58