ABC340
我们可以知道每一个点在每一轮加多少,具体如下:
假如现在操作的点的为 \(k\)。那么所有的数都至少会加 \(\dfrac{A_k}{n}\)。但是肯定有剩的,剩了 \(A_k \mod n\)。
很明显,\(A_k \mod n\) 会分给接下来的 \(A_k \mod n\) 个数。
这样我们就可以知道每个点每轮加多少了。然后用线段树维护即可。
三角形的面积为 \(1\) 就等价于 \(|ay - bx| = 2\)。
我们定义 \(g = \gcd(x,y)\)。假如 \(g \ge 3\) 那么没有答案,因为 \(g\) 必须是 \(2\) 的因数。
然后我们就要的到一对 \((c,d)\) 使得 \(cy - dx = \pm \gcd(x,y)\)。然后用扩欧就可以求出 \((c,d)\) 啦。
然后我们最开始要求的是一对 \((a,b)\) 即 \(ay-bx = \pm 2\)。于是我们把答案乘上 \(\dfrac{2}{g}\) 即可。