-
Integer Divisions (ifloor, iceil, remainder)232's competitive-programming templates. 2024. 8. 15. 01:37
template <typename T, typename U> auto ifloor(T t, U u) { assert(u != 0); return t / u - ((t ^ u) < 0 && t % u != 0); } template <typename T, typename U> auto iceil(T t, U u) { assert(u != 0); return t / u + ((t ^ u) > 0 && t % u != 0); } template <typename T, typename U> auto remainder(T t, U u) { assert(u != 0); if (u < 0) { t = -t; u = -u; } t %= u; if (t < 0) { t += u; } return t; }
'232's competitive-programming templates.' 카테고리의 다른 글
Sliding Queue (0) 2024.08.17 PriorityQueuePair (0) 2024.08.17 IterativeSegmentTree (0) 2024.08.11 PrimePowerCombination (P^E binom) (0) 2024.08.08 extendedEuclid, crt (0) 2024.08.05