Skip to content

Commit b42e508

Browse files
committed
Fix gcd beats to pass CI
1 parent 5dc5141 commit b42e508

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

segmenttree/trees/acl_range-update-gcd-range-max-sum.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#pragma once
22
#include "../acl_beats.hpp"
33

4-
// CUT begin
4+
#include <cstdint>
5+
#include <numeric>
6+
57
// Verified: https://yukicoder.me/submissions/611774
68
namespace yuki880 {
79
constexpr uint32_t BINF = 1 << 30;
@@ -28,7 +30,7 @@ S op(S l, S r) {
2830
ret.sum = l.sum + r.sum;
2931
ret.lcm = (l.lcm >= BINF or r.lcm >= BINF)
3032
? BINF
31-
: std::min<uint64_t>(BINF, (uint64_t)l.lcm * r.lcm / std::__gcd(l.lcm, r.lcm));
33+
: std::min<uint64_t>(BINF, (uint64_t)l.lcm * r.lcm / std::gcd(l.lcm, r.lcm));
3234
ret.sz = l.sz + r.sz;
3335
if (l.all_same and r.all_same and l.max == r.max) ret.all_same = true;
3436
return ret;
@@ -43,7 +45,7 @@ struct F {
4345
};
4446

4547
F composition(F fnew, F fold) {
46-
return fnew.reset ? fnew : F(std::__gcd(fnew.dogcd, fold.dogcd), fold.reset);
48+
return fnew.reset ? fnew : F(std::gcd(fnew.dogcd, fold.dogcd), fold.reset);
4749
}
4850

4951
F id() { return F(); }
@@ -53,7 +55,7 @@ S mapping(F f, S x) {
5355
if (f.reset) x = S(f.reset, x.sz);
5456
if (f.dogcd) {
5557
if (x.all_same)
56-
x = S(std::__gcd(f.dogcd, x.max), x.sz);
58+
x = S(std::gcd(f.dogcd, x.max), x.sz);
5759
else if (f.dogcd and (x.lcm == BINF or f.dogcd % x.lcm))
5860
x.fail = true;
5961
}

0 commit comments

Comments
 (0)