This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub AlexanderNekrasov/Youthful-Passion-Fruit-teambook
/** * Author: Iurii Pustovalov (stole from Red Panda teambook) * Date: 2022-11-08 * Description: Calculating number of points $x,y\geq 0, Ax + By \leq C$ * Time: O(\log(C)) */ ll solve_triangle(ll A, ll B, ll C) { // x,y >=0, Ax+By<=C if (C < 0) return 0; if (A > B) swap(A, B); ll p = C / B; ll k = B / A; ll d = (C - p * B) / A; return solve_triangle(B - k * A, A, C - A * (k * p + d + 1)) + (p + 1) * (d + 1) + k * p * (p + 1) / 2; }
#line 1 "math/GoncharFedor.cpp" /** * Author: Iurii Pustovalov (stole from Red Panda teambook) * Date: 2022-11-08 * Description: Calculating number of points $x,y\geq 0, Ax + By \leq C$ * Time: O(\log(C)) */ ll solve_triangle(ll A, ll B, ll C) { // x,y >=0, Ax+By<=C if (C < 0) return 0; if (A > B) swap(A, B); ll p = C / B; ll k = B / A; ll d = (C - p * B) / A; return solve_triangle(B - k * A, A, C - A * (k * p + d + 1)) + (p + 1) * (d + 1) + k * p * (p + 1) / 2; }