From fb5d046c4e4ab2bec7b0642626e11cff5680f63f Mon Sep 17 00:00:00 2001 From: mzuenni Date: Sun, 8 Sep 2024 23:21:15 +0200 Subject: fix minMod --- content/math/minMod.cpp | 6 +++--- tcr.pdf | Bin 696377 -> 696378 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/math/minMod.cpp b/content/math/minMod.cpp index 91f31d0..a80e783 100644 --- a/content/math/minMod.cpp +++ b/content/math/minMod.cpp @@ -4,19 +4,19 @@ ll firstVal(ll a, ll m, ll l, ll r) { if ((l-1)/a < r/a) return (l+a-1) / a*a; ll s = (r+a-1) / a*a; ll v = firstVal(m % a, a, s-r, s-l); - return v == -1 ? -1 : s - v; + return v < 0 ? -1 : s - v; } ll minMod(ll n, ll m, ll a, ll b) { if (a == 0) return b; ll g = gcd(m, a); - c = b%g; + ll c = b % g; m /= g; a /= g; b /= g; ll ai = multInv(a, m); ll l = ai*b % m; ll r = (n-1 + ai*b) % m; - if(n >= m || l > r) return c; + if (n >= m || l > r) return c; return a * firstVal(ai, m, l, r) % m * g + c; } \ No newline at end of file diff --git a/tcr.pdf b/tcr.pdf index dbd1055..f97121c 100644 Binary files a/tcr.pdf and b/tcr.pdf differ -- cgit v1.2.3